我在存储过程中有一个更新查询,如下所示
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的位置编写。
请告知。
谢谢
暂无答案!
目前还没有任何答案,快来回答吧!