# 原来是因为原先的字段太长, 使用了 declare 语法,
declare
val1 number := ‘很长的字符串’;
begin
select * from WARNING_INFO where SEQ_ID = :val1;
end;
# 但是之后又报了一个 并非所有变量已经绑定, 那么应该如何解决呢
1
krixaar 2020-10-21 08:04:27 +08:00
直接 prepare 这个 select,然后 execute 的时候把 val1 传进去。
|
2
18870715400 OP declare
val1 number := ‘很长的字符串’; begin select * from WARNING_INFO where SEQ_ID = val1; end; / 正确的语法 |
3
18870715400 OP sql = """declare
val1 number := ‘很长的字符串’; begin select * from WARNING_INFO where SEQ_ID = val1; end; """ cursor.execute(sql) 使用 cx_Oracle 执行的时候不需要有斜号,另外 clob 字段内容不要有单引号或者双引号,不然会有错误 |