teradata解析器会弄乱查询

flseospp  于 2021-08-01  发布在  Java
关注(0)|答案(0)|浏览(204)

我在存储过程中有一个更新查询,如下所示

UPDATE tablename 
SET column = v_col,
column1 = v_col2, 
..
..
WHERE seq_num = v_seq_num

存储过程seq_num有一个与表的列名匹配的输入变量。在运行时,代码变为

UPDATE tablename FROM tablename
SET column = :var1,
column1 = :var2, 
..
..
WHERE :var12 = :var13

它假定where子句中的seq_num是一个变量,查询会给出spool space error,因为它会从tablename更新tablename。目前我无法更改输入变量名,因为它需要大量的代码更改。有办法解决这个问题吗?有人知道这里发生了什么吗?我正在考虑在tablename.seq_num=v_seq_num的位置编写。
请告知。
谢谢

暂无答案!

目前还没有任何答案,快来回答吧!

相关问题