MERGE INTO T T1
USING (SELECT '1001' AS a,2 AS b FROM dual) T2
ON ( T1.a=T2.a)
WHEN MATCHED THEN
UPDATE SET T1.b = T2.b
WHEN NOT MATCHED THEN
INSERT (a,b) VALUES(T2.a,T2.b);
因需求做有则更新无则修改的操作和删除操作,如下面例子 MERGE INTO T T1 USING (SELECT '1001' AS a,2 AS b FROM dual) T2 ON ( T1.a=T2.a) WHEN MATCHED THEN UPDATE SET T1.b = T2.b WHEN NOT MATCHED THEN INSERT (a,b) VALUES(T2.a,T2.b); 如果这个sql中的修改操作做数据备份,那怎么对这些修改的数据在新表中进行数据修改呢 还有删除也是怎
create table test(id int, name varchar(20));
create table test_bak as select * from test;
Create trigger tri_delete_update
before delete or update on test
for each row
begin
insert into test_bak values(:new.id, :new.name);
end;
大概这个样子。