关于触发器的

dingpiao 2003-12-11 04:31:40
有A,B,C三张表

A 中有 id_1,c_1 , B 中有 id_1 ,id_2 ,C中有 id_2 ,c_2

其中,A的id_1与B的id_1对应,B的id2与C的id_2对应

想做个触发器,A中插入c_1时也插入到C中的c_2

以前没写过,那位能给个模板啊
...全文
31 9 打赏 收藏 转发到动态 举报
AI 作业
写回复
用AI写文章
9 条回复
切换为时间正序
请发表友善的回复…
发表回复
dingpiao 2003-12-11
  • 打赏
  • 举报
回复
我试试,如果成的话,马上给分
zjcxc 元老 2003-12-11
  • 打赏
  • 举报
回复
--更新:
create trigger t_insert on a
for update
if update(c_1)
update c set c_2=a.c_1
from b join c on b.id2=c.id_2
join inserted a on a.id_1=b.id_1
go
zjcxc 元老 2003-12-11
  • 打赏
  • 举报
回复
--id 得对应啊,用:

create trigger t_insert on a
for insert
insert into c select * from inserted
go
dingpiao 2003-12-11
  • 打赏
  • 举报
回复
抱歉啊,我说错了,应该是更新而不是插入
zjcxc 元老 2003-12-11
  • 打赏
  • 举报
回复
--id 得对应啊,用:
create trigger t_insert on a
for insert
insert into select * from inserted
go
dingpiao 2003-12-11
  • 打赏
  • 举报
回复
id 得对应啊
yoki 2003-12-11
  • 打赏
  • 举报
回复
CREATE TRIGGER tr_ins
ON C
FOR INSERT
AS
BEGIN
insert into C (c_2)
select c_1 from inserted
END
GO
zjcxc 元老 2003-12-11
  • 打赏
  • 举报
回复
create trigger t_insert on a
for insert
insert into c(c_2) select c_1 from inserted
go
victorycyz 2003-12-11
  • 打赏
  • 举报
回复
模板,查询分析器中不是有吗?

IF EXISTS (SELECT name
FROM sysobjects
WHERE name = N'<trigger_name, sysname, trig_test>'
AND type = 'TR')
DROP TRIGGER <trigger_name, sysname, trig_test>
GO

CREATE TRIGGER <trigger_name, sysname, trig_test>
ON <table_name, sysname, pubs.dbo.sales>
FOR INSERT
AS
BEGIN
RAISERROR (50009, 16, 10)
END
GO

34,838

社区成员

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

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