SQL Delete 触发器

Cideason 2014-10-27 10:38:24
--SQL Delete 触发器
--在程序中删除表a1保存不成功。

ALTER TRIGGER [dbo].[a1_delete] ON [dbo].[a1]
For delete AS
BEGIN
if @@rowcount=0 return
update b1 set a1_idnote='' from b1,deleted where b1.a1_id=deleted.id

END

--SQL Delete 触发器
--在程序中删除表a1保存不成功。
ALTER TRIGGER [dbo].[a1_delete] ON [dbo].[a1]
For delete AS
BEGIN
update b1 set a1_idnote='' from b1,deleted where b1.a1_id=deleted.id

update b2 set a1_idnote='' from b2,deleted where b2.a1_id=deleted.id

END

--SQL Delete 触发器
--在程序中删除表a1保存成功。

ALTER TRIGGER [dbo].[a1_delete] ON [dbo].[a1]
For delete AS
BEGIN
update b1 set a1_idnote='' from b1,deleted where b1.a1_id=deleted.id

--update b2 set a1_idnote='' from b2,deleted where b2.a1_id=deleted.id

END

--SQL Delete 触发器
--在程序中删除表a1保存成功。

ALTER TRIGGER [dbo].[a1_delete] ON [dbo].[a1]
For delete AS
BEGIN
--update b1 set a1_idnote='' from b1,deleted where b1.a1_id=deleted.id

update b2 set a1_idnote='' from b2,deleted where b2.a1_id=deleted.id

END


--为什么多笔语法会保存不成功,是否与什么配置有关或其他什么原因?
...全文
233 5 打赏 收藏 转发到动态 举报
写回复
用AI写文章
5 条回复
切换为时间正序
请发表友善的回复…
发表回复
zhangyangziwo 2014-11-11
  • 打赏
  • 举报
回复
说错了,应该是 set nocounton on http://bbs.csdn.net/topics/390562410
zhangyangziwo 2014-11-11
  • 打赏
  • 举报
回复
在触发器上家一句 set rowcount off就行啦
Cideason 2014-10-27
  • 打赏
  • 举报
回复
在Sybase上跑 一直没问题,移到MS SQL 来测试则出现 不能删除的问题。
Cideason 2014-10-27
  • 打赏
  • 举报
回复
b1,b2 没有触发器.[/quote] 在SQL后台 直接删除成功, PB程序上删除提示: SQLSyntax:DELETE FROM a1 WHERE id = '141027-001' SQLDBCode:-3 SQLErrText:Row changed between retrieve and update. No changes made to database.
Cideason 2014-10-27
  • 打赏
  • 举报
回复
--SQL Delete 触发器 --在程序中删除表a1保存不成功。 ALTER TRIGGER [dbo].[a1_delete] ON [dbo].[a1] For delete AS BEGIN update b1 set a1_idnote='' from b1,deleted where b1.a1_id=deleted.id update b2 set a1_idnote='' from b2,deleted where b2.a1_id=deleted.id END --SQL Delete 触发器 --在程序中删除表a1保存成功。 ALTER TRIGGER [dbo].[a1_delete] ON [dbo].[a1] For delete AS BEGIN update b1 set a1_idnote='' from b1,deleted where b1.a1_id=deleted.id --update b2 set a1_idnote='' from b2,deleted where b2.a1_id=deleted.id END --SQL Delete 触发器 --在程序中删除表a1保存成功。 ALTER TRIGGER [dbo].[a1_delete] ON [dbo].[a1] For delete AS BEGIN --update b1 set a1_idnote='' from b1,deleted where b1.a1_id=deleted.id update b2 set a1_idnote='' from b2,deleted where b2.a1_id=deleted.id END --为什么多笔语法会保存不成功,是否与什么配置有关或其他什么原因?

752

社区成员

发帖
与我相关
我的任务
社区描述
PowerBuilder 数据库相关
社区管理员
  • 数据库相关社区
加入社区
  • 近7日
  • 近30日
  • 至今
社区公告
暂无公告

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