程序師世界是廣大編程愛好者互助、分享、學習的平台,程序師世界有你更精彩!
首頁
編程語言
C語言|JAVA編程
Python編程
網頁編程
ASP編程|PHP編程
JSP編程
數據庫知識
MYSQL數據庫|SqlServer數據庫
Oracle數據庫|DB2數據庫
 程式師世界 >> 數據庫知識 >> Oracle數據庫 >> Oracle數據庫基礎 >> 淺談Oracle數據庫新手開發指南

淺談Oracle數據庫新手開發指南

編輯:Oracle數據庫基礎

1 在Oracle數據庫中進行過程調試
   Oracle 數據庫進行過程調試的格式為:

  1. Declare   
  2. Param_int integrate;  
  3. Begin  
  4.     Null;   
  5. --Operate the data  
  6.  end  
  7.  
SQL Server 的過程調試格式:
在SQL Server中過程編寫過程為直接編寫sql語句
比如以上的過程的腳本在Sql service中實現為

  1. Declare @param_int int  
  2. Null;  
  3. --Operate the data;  
  4.  

2 在Oracle數據庫編寫存儲過程

2.1 整個存儲過程各個環節語法注意事項
下面首先提供以下基本格式的存儲過程語法結構

  1. CREATE OR REPLACE PROCEDURE cc_getmanualquery  
  2. (  
  3. param_inputNum IN number,  
  4. Param_inputString In varchar,  
  5.      Param_OutNum out varchar  
  6. )  
  7. AS  
  8.     Param_temp Number;  
  9. begin  
  10.       --Operate the data   
  11. end ;  
  12.  
  13.    

注意事項:
1)存儲過程接口的參數在多個情況下,需要加上,進行間隔
2)存儲過程的變量參數,每個變量的定義後面都加上;
3)存儲過程的執行體,在結束後加上;符號。

2.2 If條件語句語法
If語句的格式為:

  1. If ()then  
  2. Begin  
  3. End  
  4. Elsif ()then   
  5. Begin  
  6. End  
  7.    End if  
  8.  
If 語句和SQL Server 格式不一樣
在 SQL Server 中的If語句的格式為

  1. If()  
  2. Begin  
  3.  --Operate the data  
  4.  End  
  5. Else ()  
  6.    Begin  
  7.     --Operate The data  
  8. End  
  9.  
2.3返回數據集合的方式
l_cursor out DSPackage.DataSet

定義游標格式的變量,同時在存儲過程中,對游標進行設定
在SQL Server 中數據集合返回格式為直接在存儲過程的操作區中最後一個select語句,查詢的數據結果,這種方式在Oracle數據庫中會出現異常。
2.4變量定義 和賦值的方式
在Oracle中變量定義格式
變量名稱 varchar
賦值的方式
變量名稱:=變量值。
SQL Server 中為

  1. Declare @param int;  
  2. Set @param=1;  
  3.  
2.5使用Select into 的方式進行數據賦值方式時,在沒有數據填充的情況下,異常情況
注意在 Oracle數據庫中Select 返回結果中沒有數據集的情況下,就會發生異常,需要進行異常處理。
在SQL Server中 變量為Null.
2.6 Oracle數據庫中的異常處理

  1. EXCEPTION  
  2.       WHEN OTHERS  
  3.       THEN  
  4.          --返回值賦值  
  5.          raise_application_error (-20000,  
  6.                                   '任務隊列入日志庫錯誤' || SQLERRM  
  7.                                  );  
  8.          GOTO proc_end;  
  9.          <<proc_end>> 
  10.          NULL;  
  11.  
2.7 變更影響行號數值的獲取

  1. if sql%rowcount = 0 then   
  2.                 begin  
  3.                     open l_cursor for select* from CC_MANUAL where id is null;--表的名字     
  4.                     i_o_state := -9;  
  5.                     v_o_msg   :'更新協查事件表問題標識失敗';                               
  6.                     --raise exp;  
  7.                 end;  
  8.              end if;  

以上sql%rowcount = 0  部分為 判斷更新影響的行數是否為0

  1. 上一頁:
  2. 下一頁:
Copyright © 程式師世界 All Rights Reserved