oracle捕捉所有异常,如何捕获和处理特定的Oracle异常?
你有兩個(gè)選擇:
直接通過(guò)編號(hào)參考例外:
BEGIN
EXECUTE IMMEDIATE 'CREATE SEQUENCE S_TEST START WITH 1 INCREMENT BY 1';
EXCEPTION
WHEN OTHERS THEN
IF SQLCODE = -955 THEN
NULL; -- suppresses ORA-00955 exception
ELSE
RAISE;
END IF;
END;
其他選項(xiàng)是使用EXCEPTION_INIT Pragma指令將已知的Oracle錯(cuò)誤號(hào)綁定到用戶定義的異常;
DECLARE
name_in_use exception; --declare a user defined exception
pragma exception_init( name_in_use, -955 ); --bind the error code to the above
BEGIN
EXECUTE IMMEDIATE 'CREATE SEQUENCE S_TEST START WITH 1 INCREMENT BY 1';
EXCEPTION
when name_in_use then
null; --suppress ORA-00955 exception
END;
BTW Is there any syntax to catch errors by just providing the error-codes?
是的,我在第一個(gè)例子中證明了這一點(diǎn)
進(jìn)一步閱讀以下變化:
總結(jié)
以上是生活随笔為你收集整理的oracle捕捉所有异常,如何捕获和处理特定的Oracle异常?的全部?jī)?nèi)容,希望文章能夠幫你解決所遇到的問(wèn)題。
- 上一篇: cnn 准确率无法提升_清华类脑芯片再登
- 下一篇: pyqt 取鼠标处文字_爱剪辑:炫彩的动