请教这个触发器错在哪?

gao_gao 2006-07-04 04:08:42
我的触发器,在单独删除一条HZB记录时运行正常,而删除多条HZB记录时,出现错误:

子查询返回的值多于一个。当子查询跟随在 =、!=、<、<=、>、>= 之后,或子查询用作表达式时,这种情况是不允许的

我的触发器是这样的,
CREATE TRIGGER [删除对应明细] ON [dbo].[总表]
FOR DELETE
AS
declare @del_id varchar(20)
select @del_id=id from deleted
delete from 明细表 where id=@del_id

请有经验的大哥指点为谢!
...全文
57 2 打赏 收藏 转发到动态 举报
写回复
用AI写文章
2 条回复
切换为时间正序
请发表友善的回复…
发表回复
LouisXIV 2006-07-04
  • 打赏
  • 举报
回复
--啰里啰唆的,写成下面这样即可

CREATE TRIGGER [删除对应明细] ON [dbo].[总表]
FOR DELETE
AS
delete from 明细表 where id in (select id from deleted)
jetdw 2006-07-04
  • 打赏
  • 举报
回复
你这样试试
CREATE TRIGGER [删除对应明细] ON [dbo].[总表]
FOR DELETE
AS
declare @del_id varchar(20)
select @del_id in(select id from deleted)
delete from 明细表 where id=@del_id

34,587

社区成员

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

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