Я пытаюсь определить список значений (идентификационные номера) и передать их в SQL, который запрашивает таблицы Oracle.
Этот код работает, пока я включаю только один идентификатор.
named_params = {'ids':'123456548'}
query = """
select PEBEMPL_ECLS_CODE
from PEBEMPL
inner join SPRIDEN on spriden_pidm = pebempl_pidm
where SPRIDEN_CHANGE_IND is null
and SPRIDEN_ID in :ids
"""
df = pd.read_sql(query, connection, params=named_params)
Какой правильный синтаксис для выполнения того же, но передачи списка идентификаторов?
Этот код, например, не работает:
idlist = ['123456548','546465464']
named_params = {'ids':idlist}
query = """
select PEBEMPL_ECLS_CODE
from PEBEMPL
inner join SPRIDEN on spriden_pidm = pebempl_pidm
where SPRIDEN_CHANGE_IND is null
and SPRIDEN_ID in :ids
"""
df = pd.read_sql(query, connection, params=named_params)
Возвращенная ошибка:
': ORA-01484: arrays can only be bound to PL/SQL statements