在一個過程中,我想要做的邏輯單元1,如果失敗不要緊,執行邏輯單元2嘗試捕捉象異常處理在PL/SQL
這似乎是一個典型的try-catch場景。但我怎麼能在pl/sql中做到這一點?
create or replace
PACKAGE BUILD_PKG
AS
PROCEDURE reset_seq_and_truncate_tbl(
p_seq_name IN VARCHAR2,
p_table_name IN VARCHAR2);
END BUILD_PKG;
/
create or replace
PACKAGE BODY BUILD_PKG
AS
BEGIN
PROCEDURE reset_seq_and_truncate_tbl(
p_seq_name IN VARCHAR2,
p_table_name IN VARCHAR2)
IS
l_val NUMBER;
BEGIN
BEGIN
EXECUTE immediate 'truncate table ' || p_table_name;
EXCEPTION
WHEN OTHERS
THEN dbms_output.put_line(SQLCODE);
END;
BEGIN
EXECUTE immediate 'alter sequence ' || p_seq_name || ' increment by 1 minvalue 0';
EXCEPTION
WHEN OTHERS
THEN dbms_output.put_line(SQLCODE);
END;
END reset_seq_and_truncate_tbl;
END BUILD_PKG;
正如您所看到的第二個異常塊導致問題。
幾乎完全符合我的答案。我會刪除我的。 –
對不起,我應該讓它更清楚。執行邏輯1,無所謂如果失敗,執行邏輯2 –
看看第二種方法 –