每当在 PLSQL 中插入新行时,更改前一行和当前行中列的值

问题描述

假设表名是 abc,**列是 name varchar(20)status varchar(1),** status 可以是 'y' 或 'n' 插入每个新行时,新行的 状态值必须设置为 'y' 并且前一行的状态值必须设置为“n”。请指导我解决此问题

解决方法

由于您使用的是 pl/sql,您可以触发一条预更新语句。 所以在加载到表中之前,发出这个

sql_stmnt= 'UPDATE table SET status=''n'' WHERE status =''y''';
EXECUTE IMMEDIATE sql_stmnt;
commit;
EXECUTE IMMEDIATE 'INSERT INTO...'

相关问答

错误1:Request method ‘DELETE‘ not supported 错误还原:...
错误1:启动docker镜像时报错:Error response from daemon:...
错误1:private field ‘xxx‘ is never assigned 按Alt...
报错如下,通过源不能下载,最后警告pip需升级版本 Requirem...