Oracle 存储过程 如何实现插入数据时出错后,但还继续执行 5
例如一个存储过程执行下面语句,ID是主键,因为第三条会报错,所以我想将前两条插入table1处理错误数据,将第三条插入table2table1和table2表结构一样,如...
例如一个存储过程执行下面语句,ID是主键,
因为第三条会报错,所以我想将前两条插入table1
处理错误数据,将第三条插入table2
table1和table2表结构一样,如何实现?
insert into table1
select 1 as id,'Alex' as name,33.6 as total from dual
union all
select 2 as id,'Alex' as name,33.6 as total from dual
union all
select 1 as id,'Alex' as name,33.6 as total from dual
(这只是一个例子,主要意思是存储过程能加载进正确数据且不中断,把错误数据抛弃或者捕获到其他表里)
还有在Oracle中如果能实现,那么在Sql server中要怎么实现?
也希望指点一下,谢谢!!! 展开
因为第三条会报错,所以我想将前两条插入table1
处理错误数据,将第三条插入table2
table1和table2表结构一样,如何实现?
insert into table1
select 1 as id,'Alex' as name,33.6 as total from dual
union all
select 2 as id,'Alex' as name,33.6 as total from dual
union all
select 1 as id,'Alex' as name,33.6 as total from dual
(这只是一个例子,主要意思是存储过程能加载进正确数据且不中断,把错误数据抛弃或者捕获到其他表里)
还有在Oracle中如果能实现,那么在Sql server中要怎么实现?
也希望指点一下,谢谢!!! 展开
5个回答
展开全部
begin
insert …… ;--可能出错的地方
exception
when others then
null;--出错后跳到这里来。
end;
将可能出错语句包裹起来,抓异常,不影响往下执行。
insert …… ;--可能出错的地方
exception
when others then
null;--出错后跳到这里来。
end;
将可能出错语句包裹起来,抓异常,不影响往下执行。
已赞过
已踩过<
评论
收起
你对这个回答的评价是?
展开全部
一个SQL文肯定实现不了这个功能,你可以分成三个SQL执行,然后用exception捕捉异常。
SQL SERVER里处理也一样。
SQL SERVER里处理也一样。
已赞过
已踩过<
评论
收起
你对这个回答的评价是?
展开全部
可以考虑在执行这段代码的时候 try catch一下 或者是循环操作的方法 一出错continue一下
已赞过
已踩过<
评论
收起
你对这个回答的评价是?
2013-05-23
展开全部
可以考虑一下批处理
已赞过
已踩过<
评论
收起
你对这个回答的评价是?
推荐律师服务:
若未解决您的问题,请您详细描述您的问题,通过百度律临进行免费专业咨询