Oracle_PL/SQL的基本写法_BEGIN_END块结构及简单的事务实现

2014-11-24 17:40:46 · 作者: · 浏览: 1

执行后的输出:


开始执行可执行语句块![http://blog.csdn.net/ls_man转载注明出处]
A=2
B=0
[PL/SQL 基本写法]中出现异常,错误代码:ORA-1476


我们再看一下如何通过异常处理实现数据库事务:


-- 插入一条错误的数据,因为第二个字段为int型,插入字符数据肯定会出错
INSERT INTO MY_TEST VALUES ('TEST_FAIL', 'ABC');


-- 最后提交更改
COMMIT;
EXCEPTION
-- 异常处理
WHEN OTHERS THEN
ROLLBACK; -- 异常时回滚,这样第一次插入的正确数据也不会保存到数据库
DBMS_OUTPUT.put_line('[PL/SQL 事务]中出现异常,错误代码:ORA' || sqlcode);
-- 我们验证一下表里的数据为0条
SELECT COUNT(*) INTO V_COUNT FROM MY_TEST;
DBMS_OUTPUT.put_line('回滚后,MY_TEST表中有' || V_COUNT || '条记录');
END; -- 可执行语句结束
/ -- 该符号表示执行这段PL/SQL代码


执行后的输出:


MY_TEST表中有1条记录
[PL/SQL 事务]中出现异常,错误代码:ORA-1722
回滚后,MY_TEST表中有0条记录


相关阅读