krfs.net
当前位置:首页 >> orAClE 中的 ExCEption whEn othErs thEn 捕获异常... >>

orAClE 中的 ExCEption whEn othErs thEn 捕获异常...

db2中类似oracle的异常捕获写法: 举例如下: CREATE PROCEDURE OUT_LANGUAGE (...,OUT returnCode INTEGER, OUT returnMsg CHAR(32)) -- returnCode 返回执行中的的错误代码 -- returnMsg 返回执行中的的错误描述 SPECIFIC SQL_OUT_LANGUAGE LA...

源代码 ?

可以先定义个变量,发生异常的时候将异常信息赋值给变量,插入表的时候用变量, 日志表没给表结构,我自己重新定义了一个,测试ok。 CREATE TABLE T_LOG_ERROR (ERR_ID NUMBER, ERR_TIME DATE, ERR_CODE NUMBER, ERR_INFOR VARCHAR2(4000) ); cr...

我也不太会sqlserver,你能把你要写的逻辑语言描述一下

NULL 当没有数据时,抛出空值 RAISE 是用来抛出异常的,没带参数的如你上面的这种,就是将当前的异常传到外部程序。

要保证不中断,需要用游标,单个记录进行插入,异常记录插入错误信息表 declare begin for rec in (select * from b) loop begin insert into a select * from b where ...; exception when otherst then insert into err_msg select * from b wh...

declare v varchar2(32); begin begin select dummy into v from dual where dummy = ''; exception when others then dbms_output.put_line('1'); end; dbms_output.put_line('2'); end; 可以自己试一下,把可能发生异常的代码放到begin end块...

一个简单的正常提交-异常回滚 的例子代码. SQL> select * from test_main; ID VALUE ---------- -------------------- 2 TWO 3 THREE 1 ONE SQL> BEGIN 2 -- 插入2条同样的数据,使主键重复,引发错误后回滚事务. 3 INSERT INTO test_main(id, v...

可以用异常来做哦,亲! BEGIN select price into ld_htprice from CGHTMXB where htid=ls_cghtid and bh=ls_bh; EXCEPTION when NO_DATA_FOUND THEN ld_htprice :=null; when OTHERS THEN ld_htprice :=null; END;

网站首页 | 网站地图
All rights reserved Powered by www.krfs.net
copyright ©right 2010-2021。
内容来自网络,如有侵犯请联系客服。zhit325@qq.com