两个表的视图的Update,delete触发器问题

DeadWolf 2003-04-24 02:32:09

我有一个连接两个表的视图,所以Update,delete 操作不能在该视图上进行.
请问我要把对视图的Update,delete 应用到其中一个表中的触发器怎么写
...全文
23 5 打赏 收藏 转发到动态 举报
写回复
用AI写文章
5 条回复
切换为时间正序
请发表友善的回复…
发表回复
DeadWolf 2003-04-25
  • 打赏
  • 举报
回复
通常是少掉当前行
DeadWolf 2003-04-25
  • 打赏
  • 举报
回复
CREATE TRIGGER TRG_V_VBIPartner1 ON V_VBIPartner INSTEAD OF INSERT
AS INSERT INTO DBO.VBIPartner(ID,Name,City_ID,LinkMan,Phone,EMail,Type,Address,Memo)
SELECT ID,Name,City_ID,LinkMan,Phone,EMail,Type,Address,Memo FROM Inserted

但是执行Insert操作以后,Delphi的TQuery返回的记录集会少掉一行原有的记录,但实际上在数据库中确实添

加进去了。


pengdali 2003-04-24
  • 打赏
  • 举报
回复
CREATE TRIGGER 名 on 你的视图
INSTEAD OF update
AS
BEGIN
update 表1 set 数据列=aa.数据列 from inserted aa where aa.编号=表1.编号
update 表2 set 数据列=aa.数据列 from inserted aa where aa.编号=表2.编号
END
pengdali 2003-04-24
  • 打赏
  • 举报
回复
CREATE TRIGGER 名 on 你的视图
INSTEAD OF delete
AS
BEGIN
delete 表1 where 编号 in (select 编号 from inserted)
delete 表2 where 编号 in (select 编号 from inserted)
END
pengdali 2003-04-24
  • 打赏
  • 举报
回复
CREATE TRIGGER 名 on 你的视图
INSTEAD OF INSERT
AS
BEGIN
INSERT INTO 表1 SELECT name1,name2 FROM inserted
INSERT INTO 表2 SELECT name3,name4 FROM inserted
END

22,207

社区成员

发帖
与我相关
我的任务
社区描述
MS-SQL Server 疑难问题
社区管理员
  • 疑难问题社区
  • 尘觉
加入社区
  • 近7日
  • 近30日
  • 至今
社区公告
暂无公告

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