求一个触发器语句

boxnoodle 2008-09-23 04:56:07
如果表A有增删改操作,则在表B中生成相应记录:
表A 表B
insert (A.id,1)一条记录
delete (A.id,3)一条记录
update (A.id,3)、(A.id,1)两条记录

触发器如何写?我瞎写了一个,报错。
CREATE TRIGGER TRIGGER1 ON table1 
FOR INSERT
AS
declare @v_char

BEGIN
SET @v_char =(SELECT id FROM table1 inserted)
INSERT INTO table1_temp VALUES (@v_char, 1)
END

FOR DELETE
AS
declare @v_char

BEGIN
SET @v_char =(SELECT id FROM table1 deleted)
INSERT INTO table1_temp
VALUES (@v_char, 3)
END

FOR UPDATE
AS
declare @v_char

BEGIN
SET @v_char =(SELECT id FROM table1 inserted)
INSERT INTO table1_temp VALUES (@v_char, 3)
INSERT INTO table1_temp VALUES (@v_char, 1)
END
...全文
45 4 打赏 收藏 转发到动态 举报
写回复
用AI写文章
4 条回复
切换为时间正序
请发表友善的回复…
发表回复
boxnoodle 2008-09-23
  • 打赏
  • 举报
回复
那只能分别对增删改建三个触发器?
中国风 2008-09-23
  • 打赏
  • 举报
回复
樓主貼出來的,不支持同時操作多條記錄
-狙击手- 2008-09-23
  • 打赏
  • 举报
回复
CREATE TRIGGER TRIGGER1 ON table1 
FOR INSERT ,deleted,update
AS


BEGIN

INSERT INTO table1_temp select id, 1 from inserted
insert into table1_temp select id, 3 from deleted
END
go
中国风 2008-09-23
  • 打赏
  • 举报
回复
CREATE TRIGGER TRIGGER1 ON table1 
FOR INSERT
AS
BEGIN
INSERT INTO table1_temp select ID,1 from inserted
END

--這樣改

34,590

社区成员

发帖
与我相关
我的任务
社区描述
MS-SQL Server相关内容讨论专区
社区管理员
  • 基础类社区
  • 二月十六
  • 卖水果的net
加入社区
  • 近7日
  • 近30日
  • 至今
社区公告
暂无公告

试试用AI创作助手写篇文章吧