社区
MS-SQL Server
帖子详情
【】在触发器中如何跳过错误继续执行?
Tomgus
2008-11-20 11:11:45
在触发器中写了一个循环:
while
begin
....
insert into
end
在insert表时数据可能出现重复插入的主键错误,这时循环就不能继续执行下一个
如何解决呢?
----------
if @@error <> 0 用过,程序也会终止
...全文
182
8
打赏
收藏
【】在触发器中如何跳过错误继续执行?
在触发器中写了一个循环: while begin .... insert into end 在insert表时数据可能出现重复插入的主键错误,这时循环就不能继续执行下一个 如何解决呢? ---------- if @@error 0 用过,程序也会终止
复制链接
扫一扫
分享
转发到动态
举报
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的
oracle
触发器
遇到异常数据
跳过
不予执行,从而实现异常数据不变,其余数据增加;
例如本题 ## 编写存储过程和
触发器
,实现对scott公司员工增 加奖金,10部门增加额为工资的20%,20部门增 加额为工资的15%,30部门增加额为工资的10%, 对于职位为MANAGER且工资高于2500的员工不 增加奖金 emp表结构如下 题目要求为执行存储过程时如果job = manager and sal >2500的话就不增加,然后继续增加别的。 最后的结果应该是,工作为manager且工资大于2500的员工工资不变,其他的员工工资增加。 一般在
触发器
中
使用的raise_applica
mysql从库
跳过
当前节点,
跳过
或替代执行异常的 SQL 语句
跳过
或替代执行异常的 SQL 语句本文介绍了如何使用 DM 来处理异常的 SQL 语句。目前,TiDB 并不完全兼容所有的 MySQL 语法(详见 TiDB 已支持的 DDL 语句)。当使用 DM 从 MySQL 迁移数据到 TiDB 时,如果 TiDB 不支持对应的 SQL 语句,可能会造成
错误
并
中
断迁移任务。在这种情况下,DM 提供以下两种方式来恢复迁移:使用 dmctl 来手动
跳过
(ski...
SQL server 的异常处理 一个SQL异常 如何不影响其他SQL执行
结构,并且您的存储过程在一个显式事务
中
运行,那么一旦发生
错误
,默认情况下事务将被标记为“不可提交”,这意味着您必须回滚整个事务。如果您希望在遇到
错误
时不回滚前面的操作,可以在遇到
错误
后显式地提交事务,但这通常不是一个好主意,因为这可能会导致数据的一致性问题。在 SQL Server
中
,存储过程
中
的 SQL 语句是顺序执行的。如果其
中
任何一个 SQL 语句遇到了
错误
或异常,那么默认情况下,这个
错误
会导致整个事务(如果有的话)回滚,并且存储过程会立即停止执行,不会
继续执行
后面的 SQL 语句。
mysql
跳过
异常数据_MySQL
跳过
已存在的数据
一、背景在使用MySQL进行插入的时候,遇到了一个场景:当插入的数据不再数据库
中
的时候就插入,否则就
跳过
。二、方法我们可以使用下面的SQL语句进行处理,处理语句如下。在这个里面有几个重要的地方,DUAL和insert的操作。标准:INSERT INTO table(primarykey, field1, field2, ...)SELECT key, value1, value2, ...FROM...
【MySQL进阶】存储过程与
触发器
我们在开头的时候留下了这么一些问题本节可以解决的问题(面试题)存储过程的作用是什么?如何创建一个存储过程?MySQL
中
的变量都有哪几种?如何定义一个变量?MySQL
中
使用变量是否需要提前声明?MySQL
中
的参数分为哪几种?用过游标吗?游标的作用是什么?了解条件处理程序吗?介绍一下如何使用?存储函数与存储过程的区别是什么?如何查看数据库
中
创建的存储过程?什么是
触发器
?MySQL
中
触发器
分为几种类型?行级
触发器
与语句级触器的区别是什么?说一下了解的
触发器
使用场景有哪些?
MS-SQL Server
34,871
社区成员
254,637
社区内容
发帖
与我相关
我的任务
MS-SQL Server
MS-SQL Server相关内容讨论专区
复制链接
扫一扫
分享
社区描述
MS-SQL Server相关内容讨论专区
社区管理员
加入社区
获取链接或二维码
近7日
近30日
至今
加载中
查看更多榜单
社区公告
暂无公告
试试用AI创作助手写篇文章吧
+ 用AI写文章