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
Is it possible to Define PL/SQL block in cx_Oracle this way?
I'm trying to do this again an Oracle 10 database:
cursor = connection.cursor()
lOutput = cursor.var(cx_Oracle.STRING)
cursor.execute("""
BEGIN
%(out)s := 'N';
END;""",
{'out' : lOutput})
print lOutput.value
but I'm getting
DatabaseError: ORA-01036: illegal variable name/number
Is it possible to define PL/SQL blocks in cx_Oracle this way?
如果你对这篇内容有疑问,欢迎到本站社区发帖提问 参与讨论,获取更多帮助,或者扫码二维码加入 Web 技术交流群。
绑定邮箱获取回复消息
由于您还没有绑定你的真实邮箱,如果其他用户或者作者回复了您的评论,将不能在第一时间通知您!
发布评论
评论(1)
是的,您可以执行匿名 PL/SQL 块。输出参数的绑定变量的格式不正确。它应该是
:out
而不是%(out)s
这会产生输出:
Yes, you can do anonymous PL/SQL blocks. Your bind variable for the output parameter is not in the correct format. It should be
:out
instead of%(out)s
Which produces the output: