1

嘿,在 PL/SQL 中考虑这个查询:

update cards s set s.column1= null, s.column2= null
where s.column3= in_column3
returning s.column1,s.column2
into v_column1,v_column2;

问题是这会将新记录放入变量中,这些变量为空,但我对更新前的值很感兴趣。

有什么办法可以实现这个 usingRETURNING子句?

4

2 回答 2

2

不,返回将为您提供更新后产生的列值。所以最好在更新之前选择列值。

select s.column1,
       s.column2
into v_column1,v_column2
from cards s
where s.column3= in_column3;
于 2013-06-19T07:31:11.833 回答
0

您可以在此表上编写更新前触发器,它将以前的值存储在特定条件下的特定表中。或者,如果插入的新值为空,您可以阻止插入。

于 2013-06-19T07:34:12.660 回答