Find centralized, trusted content and collaborate around the technologies you use most.
Teams
Q&A for work
Connect and share knowledge within a single location that is structured and easy to search.
嘿,在 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子句?
RETURNING
不,返回将为您提供更新后产生的列值。所以最好在更新之前选择列值。
select s.column1, s.column2 into v_column1,v_column2 from cards s where s.column3= in_column3;
您可以在此表上编写更新前触发器,它将以前的值存储在特定条件下的特定表中。或者,如果插入的新值为空,您可以阻止插入。