DELETE 触发器的问题!(50分)

  • 主题发起人 主题发起人 wrq-50882
  • 开始时间 开始时间
W

wrq-50882

Unregistered / Unconfirmed
GUEST, unregistred user!
我写了一个触发器(如下),它能删除从表的数据,但不能删除本身的这条记录!请教大家一个!

CREATE TRIGGER del_Customer_bill ON Customer_bill
INSTEAD OF DELETE AS

 
莫名其妙的问题,你删除记录的时候才会触发呀!既然已经删除了,你又为什么多此一举要
删除这条记录呢?
 
CREATE TRIGGER [TRIGGER NAME] ON [dbo].[TbnCustomers]
FOR DELETE
AS
DELETE TmlUserMessage
where msgNo=(select msgNo from DELETED)

msgNo是主关键字
但删除的触发器只有在删除时才起作用,你不想删除主表的记录,应该不能用触发器解决这
个问题。
 
我的主表有多个从表,现在问题是从表删除了,
主表的当前记录没有删除掉,我要同时删除掉,
我用下面的代码删除时报错!
CREATE TRIGGER [TRIGGER NAME] ON [dbo].[TbnCustomers]
FOR DELETE
 
不对吧?
instead of类型的触发器是接管了系统自身的吧?
你既然接管了系统自身的触发器,就不能希望再使用系统的这个功能了。

应该主要是在触发器的类型选择上出错。
你的目标是:在删除主表之前,先将相应的从表中的记录删除。至于主表的删除动作,还
是由数据库系统自身来完成。
我用的是oracle,不支持instead of类型,只支持before和after,你所用的数据库应该
支持类似的类型。
 

Similar threads

S
回复
0
查看
3K
SUNSTONE的Delphi笔记
S
S
回复
0
查看
2K
SUNSTONE的Delphi笔记
S
D
回复
0
查看
2K
DelphiTeacher的专栏
D
后退
顶部