1 在Oracle數據庫中進行過程調試
Oracle 數據庫進行過程調試的格式為:
SQL Server 的過程調試格式:
- Declare
- Param_int integrate;
- Begin
- Null;
- --Operate the data
- end
- Declare @param_int int
- Null;
- --Operate the data;
2 在Oracle數據庫編寫存儲過程
2.1 整個存儲過程各個環節語法注意事項
下面首先提供以下基本格式的存儲過程語法結構
- CREATE OR REPLACE PROCEDURE cc_getmanualquery
- (
- param_inputNum IN number,
- Param_inputString In varchar,
- Param_OutNum out varchar
- )
- AS
- Param_temp Number;
- begin
- --Operate the data
- end ;
注意事項:
1)存儲過程接口的參數在多個情況下,需要加上,進行間隔
2)存儲過程的變量參數,每個變量的定義後面都加上;
3)存儲過程的執行體,在結束後加上;符號。
2.2 If條件語句語法
If語句的格式為:
If 語句和SQL Server 格式不一樣
- If ()then
- Begin
- End
- Elsif ()then
- Begin
- End
- End if
2.3返回數據集合的方式
- If()
- Begin
- --Operate the data
- End
- Else ()
- Begin
- --Operate The data
- End
定義游標格式的變量,同時在存儲過程中,對游標進行設定
在SQL Server 中數據集合返回格式為直接在存儲過程的操作區中最後一個select語句,查詢的數據結果,這種方式在Oracle數據庫中會出現異常。
2.4變量定義 和賦值的方式
在Oracle中變量定義格式
變量名稱 varchar
賦值的方式
變量名稱:=變量值。
SQL Server 中為
2.5使用Select into 的方式進行數據賦值方式時,在沒有數據填充的情況下,異常情況
- Declare @param int;
- Set @param=1;
2.7 變更影響行號數值的獲取
- EXCEPTION
- WHEN OTHERS
- THEN
- --返回值賦值
- raise_application_error (-20000,
- '任務隊列入日志庫錯誤' || SQLERRM
- );
- GOTO proc_end;
- <<proc_end>>
- NULL;
- if sql%rowcount = 0 then
- begin
- open l_cursor for select* from CC_MANUAL where id is null;--表的名字
- i_o_state := -9;
- v_o_msg := '更新協查事件表問題標識失敗';
- --raise exp;
- end;
- end if;
以上sql%rowcount = 0 部分為 判斷更新影響的行數是否為0