【发布时间】:2021-06-02 15:36:59
【问题描述】:
假设表名是 abc,**列是 name varchar(20) 和 status varchar(1),** status 可以是 'y' 或 'n' 在插入每个新行时,新行的 status 值必须设置为 'y' 并且上一行的状态值必须设置为“n”。请指导我解决此问题
【问题讨论】:
标签: sql database plsql plsqldeveloper dbms-output
假设表名是 abc,**列是 name varchar(20) 和 status varchar(1),** status 可以是 'y' 或 'n' 在插入每个新行时,新行的 status 值必须设置为 'y' 并且上一行的状态值必须设置为“n”。请指导我解决此问题
【问题讨论】:
标签: sql database plsql plsqldeveloper dbms-output
由于您使用的是 pl/sql,因此您可以触发更新前语句。 所以在加载到表格之前,发出这个
sql_stmnt= 'UPDATE table SET status=''n'' WHERE status =''y''';
EXECUTE IMMEDIATE sql_stmnt;
commit;
EXECUTE IMMEDIATE 'INSERT INTO...'
【讨论】: