15 預定義例外1

2021-09-02 13:56:54 字數 1103 閱讀 2448

處理預定義例外

預定義例外是由pl/sql所提供的系統例外。當pl/sql應用程式違反了oracle規定的限制時,則會隱含的觸發乙個內部例外。

pl/sql為開發人員提供了二十多個預定義例外

常用的例外:

1.case_not_found:

在開發pl/sql塊中編寫case語句時,如果在when子句中沒有包含必須的條件分支,就會觸發case_not_found的例外。

例項:create or replace procedure sun_pro15(sunno number) is

v_sal emp.sal%type;

begin

select sal into v_sal from emp where empno=sunno;

case

when v_sal<1000 then

update emp set sal=sal+100 where empno=sunno;

when v_sal<2000 then

update emp set sal=sal+200 where empno=sunno;

end case;

exception

when case_not_found then

dbms_output.put_line('case語句沒有與'||v_sal||'相匹配的條件');

end;

2.cursor_already_open

當重新開啟已經開啟的游標時,會隱含的觸發例外cursor_already_open

例項:declare

cursor emp_cursor is select ename,sal from emp;

begin

open emp_cursor;

for emp_recordl is emp_cursor loop

dbms_output.put_line(emp_recordl.ename);

end loop;

exception

when cursor_already_open then

dbms_output.put_line('游標已經開啟');

end;

預定義,巨集定義

巨集定義 其作用就是 換其名曰 給程式中的一段特殊的 函式,資料取了個簡單明瞭的名字。不過有一點這傢伙的作用範圍是全域性的。即使它是在某乙個函式塊中定義的。這個其實也容易理解。因為巨集定義是預定義的一種,在我們的程式之前,由預編譯器 cpp 提前編譯出來了,那個時候程式裡的結構是個啥樣子編譯器壓根就...

預定義知識

1.巨集指令 define error import undef elif if include else ifdef line endif ifndef pragma 2 define define width 80 define length width 10 define test f1,f2...

預定義知識

預定義知識 寫於2005年12月26日 1.巨集指令 define error import undef elif if include else ifdef line endif ifndef pragma 2 define define width 80 define length width ...