【】在触发器中如何跳过错误继续执行?

Tomgus 2008-11-20 11:11:45
在触发器中写了一个循环:
while
begin
....
insert into
end

在insert表时数据可能出现重复插入的主键错误,这时循环就不能继续执行下一个
如何解决呢?

----------
if @@error <> 0 用过,程序也会终止
...全文
178 8 打赏 收藏 转发到动态 举报
AI 作业
写回复
用AI写文章
8 条回复
切换为时间正序
请发表友善的回复…
发表回复
Tomgus 2008-11-20
  • 打赏
  • 举报
回复
邹建老大
try catch我试过,也不行:

while
begin try
insert ..
end try
benin catch
end catch

dobear_0922 2008-11-20
  • 打赏
  • 举报
回复
SQL2005可以用TRY CATCH
hyde100 2008-11-20
  • 打赏
  • 举报
回复
[Quote=引用 1 楼 zjcxc 的回复:]
2005或之后的版本 中用 try catch 可以跳过去

2000 及之前的版本错误处理功能太弱了, 没有直接的办法
[/Quote]。
zjcxc 元老 2008-11-20
  • 打赏
  • 举报
回复
2005或之后的版本 中用 try catch 可以跳过去

2000 及之前的版本错误处理功能太弱了, 没有直接的办法
等不到来世 2008-11-20
  • 打赏
  • 举报
回复
加个continue试试?

while
begin try
insert ..
end try
benin catch
continue;
end catch
Tomgus 2008-11-20
  • 打赏
  • 举报
回复
就是insert插入时,会遇到主键重复这个错误
xieyueqing 2008-11-20
  • 打赏
  • 举报
回复
Try Catch也不是万能的,可能是你的错误太致命了,必须终止。
Tomgus 2008-11-20
  • 打赏
  • 举报
回复
数据库是2005的

34,838

社区成员

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

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