首先看下基本的觸發器的結構
::----------SQL觸發器-------------------------------------------------
1.刪除
CREATE TRIGGER [Delete_TopAlexa] ON [dbo].[tb_WebSite]
FOR DELETE
AS
BEGIN TRANSACTION
delete from tb_alexa where websiteid=(select websiteid from deleted)
delete from tb_top100 where websiteid=(select websiteid from deleted)
IF (@@ERROR <> 0) -- 如果有錯誤
BEGIN
ROLLBACK TRANSACTION -- 復原
END
COMMIT TRANSACTION -- 提交事務
2.更新
create trigger Test_OK
on ok
for update
as
if update(name)
begin
update sname set sname.s_name=ok.name from ok,sname
where sname.n_id=ok.n_id
end
說明: 關鍵字都用大寫的藍色字型標出, 斜體字代表使用者字串
triggername -------------觸發器的名字
mainTableName ------主表名
childTableName -------子表名
ctbid-------------------------子表的欄位
mid--------------------------主表的比較欄位
::----------SQLite觸發器-------------------------------------------------
1.刪除
CREATE TRIGGER triggername AFTER DELETE ONmainTableName FOR EACH ROW
BEGIN
DELETE FROMchildTableName WHEREctbid=OLD.mid ;
END;
2.更新
CREATE TRIGGER triggername AFTER UPDATE ON mainTableName
FOR EACH ROW
BEGIN
UPDATEchildTableName SETctbid
=NEW.mid
WHERE childTableName .ctbid=
OLD.mid;
END;