求一SQL中的简单触发器.....

麦子VISA 2005-05-11 10:39:30
3张表:A,B,C 字段都只有ID,NAME
实现:插入A表中数据后,执行触发器,先将A中刚插入的数据与B中每条数据比较,如果有相同记录则将该记录插入到C表。

就是这样...各位好心的帮帮忙...谢谢~~!

...全文
79 7 打赏 收藏 转发到动态 举报
写回复
用AI写文章
7 条回复
切换为时间正序
请发表友善的回复…
发表回复
麦子VISA 2005-05-12
  • 打赏
  • 举报
回复
最后..C表触发器问题,现在D表只有一个ID字段和A表相同,NAME字段不相同,与A表比较后插入到C表时,怎么把记录信息更新成和A表中的信息一样。就是更新C表中插入的记录NAME字段都和A中的一样..
mfkzj 2005-05-12
  • 打赏
  • 举报
回复
CREATE TRIGGER [InsertA] ON [dbo].[A]
FOR INSERT
AS
DECLARE @m_id int
//定义插入数据的参数

SELECT @m_id=id,...FROM Inserted //其他插入数赋值
If exists(SELECT id FROM B where id =@m_id)
begin
set @command='INSERT INTO [dbo].[C]([id]....) VALUES('+''+
''+ CONVERT(nvarchar(10),@m_id) + ''+.....+ ')'
EXECUTE @command

END
else
If exists(SELECT id FROM D where id =@m_id)
begin
set @command='INSERT INTO [dbo].[C]([id]....) VALUES('+''+
''+ CONVERT(nvarchar(10),@m_id) + ''+.....+ ')'
EXECUTE @command
end
GO
麦子VISA 2005-05-12
  • 打赏
  • 举报
回复
忘记说了。A表中和B表比较后,B表中中不存在的记录也要和D表记录比较,D表中有该记录则将该记录插入到C表..就是一条记录要比两次,一次和B表一次和D表.有办法解决吗?
麦子VISA 2005-05-11
  • 打赏
  • 举报
回复
....没人会吗?
imho888 2005-05-11
  • 打赏
  • 举报
回复
顶楼上的
麦子VISA 2005-05-11
  • 打赏
  • 举报
回复
楼上的别瞎捣乱...
lencon 2005-05-11
  • 打赏
  • 举报
回复
基础的东西,看书呀

2,498

社区成员

发帖
与我相关
我的任务
社区描述
Delphi 数据库相关
社区管理员
  • 数据库相关社区
加入社区
  • 近7日
  • 近30日
  • 至今
社区公告
暂无公告

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