I am trying to pass in parameters into a SQL "IN" statement using cx_Oracle. This gives the correct result:
sql = """select * from
(select level numb from dual connect by level <= 4)
where numb = :var"""
print([row[0] for row in cur.execute(sql, (1,))])
Output: [1]
However I have not been able to figure out how to use an "IN" statement.
sql = """select * from
(select level numb from dual connect by level <= 4)
where numb in :var"""
print([row[0] for row in cur.execute(sql, (1, 2))])
Output: cx_Oracle.DatabaseError: ORA-01036: illegal variable name/number
I've tried variations of the IN statement, and also with using a dictionary to pass in the parameters.