请教一下关于触发器执行问题
时间:2011-11-04
来源:互联网
表
serial_oid name name_flag
1 张三 1
2 李四 1
3 小李 2
我在该表有一个删除触发器
CREATE TRIGGER [dbo].[DeletePlan_CRK]
ON [dbo].[Plan_Letter_Ticket_Sheet]
AFTER DELETE
AS
BEGIN
-- SET NOCOUNT ON added to prevent extra result sets from
-- interfering with SELECT statements.
declare @namechar(15)
select @name=name from deleted
print @name
end
当我执行delete from 表1 where name_flag='1' 时,为什么只显示了一个张三,而李四没有执行,也就是说只执行了一次,这种问题我该怎么办呢
serial_oid name name_flag
1 张三 1
2 李四 1
3 小李 2
我在该表有一个删除触发器
CREATE TRIGGER [dbo].[DeletePlan_CRK]
ON [dbo].[Plan_Letter_Ticket_Sheet]
AFTER DELETE
AS
BEGIN
-- SET NOCOUNT ON added to prevent extra result sets from
-- interfering with SELECT statements.
declare @namechar(15)
select @name=name from deleted
print @name
end
当我执行delete from 表1 where name_flag='1' 时,为什么只显示了一个张三,而李四没有执行,也就是说只执行了一次,这种问题我该怎么办呢
作者: xiaobifei 发布时间: 2011-11-04
SQL code
你就能知道李四也执行了.
select @name=isnull(@name+',','')+name from deleted
你就能知道李四也执行了.
作者: qianjin036a 发布时间: 2011-11-04
你那样写法,只能查询到序列的最后一个name,前一个被后一个替代掉了.
想起黑瞎子到地里掰苞米的童话故事.
想起黑瞎子到地里掰苞米的童话故事.
作者: qianjin036a 发布时间: 2011-11-04
引用 2 楼 qianjin036a 的回复:
你那样写法,只能查询到序列的最后一个name,前一个被后一个替代掉了.
想起黑瞎子到地里掰苞米的童话故事.
你那样写法,只能查询到序列的最后一个name,前一个被后一个替代掉了.
想起黑瞎子到地里掰苞米的童话故事.
...
发现很多触发器这个问题,然后触发器背黑锅
作者: Haiwer 发布时间: 2011-11-04
SQL code
declare @name NVARCHAR(max) SET @name=STUFF((SELECT ','+NAME FROM DELETED FOR XML PATH('')),1,1,'') print @name
作者: roy_88 发布时间: 2011-11-04
引用 2 楼 qianjin036a 的回复:
你那样写法,只能查询到序列的最后一个name,前一个被后一个替代掉了.
想起黑瞎子到地里掰苞米的童话故事.
你那样写法,只能查询到序列的最后一个name,前一个被后一个替代掉了.
想起黑瞎子到地里掰苞米的童话故事.

作者: fredrickhu 发布时间: 2011-11-04
相关阅读 更多
热门阅读
-
office 2019专业增强版最新2021版激活秘钥/序列号/激活码推荐 附激活工具
阅读:74
-
如何安装mysql8.0
阅读:31
-
Word快速设置标题样式步骤详解
阅读:28
-
20+道必知必会的Vue面试题(附答案解析)
阅读:37
-
HTML如何制作表单
阅读:22
-
百词斩可以改天数吗?当然可以,4个步骤轻松修改天数!
阅读:31
-
ET文件格式和XLS格式文件之间如何转化?
阅读:24
-
react和vue的区别及优缺点是什么
阅读:121
-
支付宝人脸识别如何关闭?
阅读:21
-
腾讯微云怎么修改照片或视频备份路径?
阅读:28