cx_Oracle и выходные переменные

Я пытаюсь сделать это снова база данных 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 этот путь?

7
задан APC 23 April 2010 в 11:12
поделиться

1 ответ

Да, вы можете выполнять анонимные блоки 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'>
7
ответ дан 7 December 2019 в 07:42
поделиться
Другие вопросы по тегам:

Похожие вопросы: