Я пытаюсь сделать это снова база данных Oracle 10:
cursor = connection.cursor()
lOutput = cursor.var(cx_Oracle.STRING)
cursor.execute("""
BEGIN
%(out)s := 'N';
END;""",
{'out' : lOutput})
print lOutput.value
но я добираюсь
DatabaseError: ORA-01036: illegal variable name/number
Действительно ли возможно определить МН блоки / блоки SQL в cx_Oracle этот путь?
Да, вы можете выполнять анонимные блоки PL / SQL. Ваша переменная привязки для выходного параметра имеет неправильный формат. Это должно быть : out
вместо % (out) s
cursor = connection.cursor()
lOutput = cursor.var(cx_Oracle.STRING)
cursor.execute("""
BEGIN
:out := 'N';
END;""",
{'out' : lOutput})
print lOutput
Что дает результат:
<cx_Oracle.STRING with value 'N'>