CREATE TRIGGER 触发器名
ON 操作表.
AFTER UPDATE
AS
UPDATE a SET a.x = b.x
FROM dbprefix.AAA a INNER JOIN inserted b
ON a.id = b.id
通过这个字段能对那些字段较少的字符串进行更新,但是如果数据库字段很多的话,set那里就需要写很多 a.x=b.x ,针对这种情况有什么比较方便的方法么
ON 操作表.
AFTER UPDATE
AS
UPDATE a SET a.x = b.x
FROM dbprefix.AAA a INNER JOIN inserted b
ON a.id = b.id
通过这个字段能对那些字段较少的字符串进行更新,但是如果数据库字段很多的话,set那里就需要写很多 a.x=b.x ,针对这种情况有什么比较方便的方法么
--什么意思哦???
--咋看你trigger那么不自在呢?语法好多都不对哦
CREATE OR REPLACE TRIGGER 触发器名
AFTER UPDATE ON 操作表
FOR EACH ROW
BEGIN
UPDATE dbprefix.AAA a SET a.x = (SELECT b.x FROM b where a.id = b.id) where exists(select 1 from b where a.id =id) ;
END;
混了mssql 跟oracle 的触发器 的写法
--要么拼接要么,就老实写
--修正你的语法规范
CREATE or replace TRIGGER 触发器名 AFTER UPDATE ON 操作表 for each row
begin
UPDATE a SET a.x = :new.x where a.id = :new.id ;
end;