--execute immediate 實現ddl
declare
v_ddl varchar2(200);
begin
v_ddl:='create table mytable as select ename,sal from emp';
execute immediate v_ddl;
dbms_output.put_line('mytable表已建');
end;
--execute immediate 返回單行記錄
--execute immediate 查詢語句 into 行資料型別 using 對應佔位符變數
declare
v_id emp.empno%type;
v_emp emp%rowtype;
v_sql varchar2(100);
begin
v_id:=7788;
v_sql:='select * from emp where empno=:id';--id為佔位符
execute immediate v_sql into v_emp using v_id;
dbms_output.put_line(v_emp.ename||' '||v_emp.sal);
end;
--異常處理
declare
v_name emp.ename%type;
begin
select ename into v_name from emp where empno=&emp_no;
dbms_output.put_line('員工姓名:'||v_name);
exception
when no_data_found then
dbms_output.put_line('無記錄返回');
end;
--系統預定義異常處理
--異常名稱 描述
--access_into_null 未初始化物件
--cursor_already_open 試圖開啟已經開啟的游標
--zero_divide 除數為零
--no_data_found 無返回記錄
--invalid_number 字串轉換為數字失敗
--value_error 轉換、截斷、大小約束錯誤
--too_many_rows 執行select into語句返回多行記錄
--others 其他異常
--自定義異常處理
exception
when 異常名1 then
異常處理語句段1;
when 異常名2 then
異常處理語句段2;
異常處理語句
在程式的編寫過程中會出現各種錯誤,語法錯誤在程式啟動時就會檢測出來,它是程式正常執行的前提條件。程式中還有一種錯誤發生在程式執行後,可能是由於邏輯問題,又或者是業務發生了改變,為了能讓使用者有更好的體驗,加強 的健壯性,我們需要對這些錯誤進行處理,也叫異常處理。在python中不同的異常可以用不同的...
SQL異常處理
異常處理 異常處理,也叫作錯誤處理,通常是把異常記錄在日誌中 在儲存過程中加上異常處理後,讓異常原因記錄在日誌表中。注意 異常處理有自己的begin.end.意思就是異常處理的begin.end.和儲存過程的begin.end.不共用。語法 begin 執行的語句 exception 一旦出現異常 ...
C 語句異常處理語句
1,try.catch.finally 不會找到邏輯錯誤,try裡面放檢測 catch 捕捉到的異常,怎樣處理finally不管有沒有異常都會執行 try catch finally 3種組合 2,finally 很頑強 return後仍然會執行 3,4,excption的用法 exception是...