怎么会这样?

beadly 2003-08-23 04:46:57
CREATE TRIGGER howdele ON [dbo].[feedin]
FOR DELETE
AS
update material set quantity = quantity - feedinme.quantity from feedinme, deleteed
where feedinme.receipt = deleteed.receipt
and material.idno = feedinme.receipt
delete feedinme from deleteed where receipt = deleted.receipt
这样竟然不报错.
deleted==>deleteed
唉!http://expert.csdn.net/Expert/topic/2172/2172881.xml?temp=.9358484
...全文
39 9 打赏 收藏 转发到动态 举报
写回复
用AI写文章
9 条回复
切换为时间正序
请发表友善的回复…
发表回复
beadly 2003-08-26
  • 打赏
  • 举报
回复
楼上的主要是扣数扣不到...
beadly 2003-08-25
  • 打赏
  • 举报
回复
楼上的各位还是不行.
如果在from后面带deleteed的话,语法就不报错,但真正删除的时候会出错
如果不带deleteed语法都不通过.
其实把from后的deleted换成其它东东比如.aaa,bbbb都可以,但是删除的时候报错对象名deleteed无效
唉!...好烦了..........
happy_0325 2003-08-23
  • 打赏
  • 举报
回复
CREATE TRIGGER howdele ON [dbo].[feedin]
FOR DELETE
AS
update material set quantity = quantity - feedinme.quantity from feedinme, deleted
where feedinme.receipt = deleted.receipt
and material.idno = feedinme.receipt
delete feedinme from deleted where feedinme.receipt = deleted.receipt
sdhdy 2003-08-23
  • 打赏
  • 举报
回复
CREATE TRIGGER howdele ON [dbo].[feedin]
FOR DELETE
AS
update material set quantity = quantity - feedinme.quantity from feedinme, deleted
where feedinme.receipt = deleted.receipt
and material.idno = feedinme.receipt
delete feedinme from deleted where feedinme.receipt = deleted.receipt
zjcxc 元老 2003-08-23
  • 打赏
  • 举报
回复
试试
CREATE TRIGGER howdele ON [dbo].[feedin]
FOR DELETE
AS

update material set quantity =material.quantity-feedinme.quantity from feedinme,deleteed
where feedinme.receipt = deleteed.receipt and material.idno = feedinme.receipt

delete from feedinme where receipt in (select receipt from deleted)
beadly 2003-08-23
  • 打赏
  • 举报
回复
没有这个表!除非这是系统表.deleteed
唉!
pengdali(大力 V2.0)写的应该没错了
但还是报错:列名receipt不明确?
zjcxc 元老 2003-08-23
  • 打赏
  • 举报
回复
创建触发器的时候,只会检查是否有语法错误,不会检查引用的表是否存在的.
zjcxc 元老 2003-08-23
  • 打赏
  • 举报
回复
如果是在创建触发器的时候,不会报错是正常的.

如果是在被触发时能处理,则表明你的数据库中有deleteed这个表.
pengdali 2003-08-23
  • 打赏
  • 举报
回复
CREATE TRIGGER howdele ON [dbo].[feedin]
FOR DELETE
AS

update material set quantity =material.quantity-feedinme.quantity from feedinme,deleteed
where feedinme.receipt = deleteed.receipt and material.idno = feedinme.receipt

delete feedinme from deleted where receipt = deleted.receipt

34,590

社区成员

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

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