问题描述
假设表名是 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...'