Oracle应用开发手记
?
1 ?在Oracle 數據庫中進行過程調試
?? Oracle 進行過程調試的格式為:
?? Declare
?????? ?Param_int?integrate;
?? Begin
?????? Null;
--operate the data
?end
?Sql server 的過程調試格式:
?在sql server中過程編寫過程為直接編寫sql語句
比如以上的過程的腳本在Sql service中實現為
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 ()then
Begin
End
Elsif ()then
Begin
End
?? End if
?
If 語句和Sql Server 格式不一樣
在 Sql Server 中的If語句的格式為
If()
Begin
????? --Operate the data
?? End
Else ()
?? Begin
???????? ?--Operate The data
?? End
?
2.3返回數據集合的方式
l_cursor?out DSPackage.DataSet
?定義游標格式的變量,同時在存儲過程中,對游標進行設定
在Sql Server 中數據集合返回格式為
直接在存儲過程的操作區中最后一個select語句,查詢的數據結果,這種方式在Oracle中會出現異常。
?
2.4變量定義 和賦值的方式
在Oracle中變量定義格式
變量名稱 varchar
賦值的方式
變量名稱:=變量值。
Sql?Server 中為
Declare @param int;
Set @param=1;
?
2.5使用Select into 的方式進行數據賦值方式時,在沒有數據填充的情況下,異常情況
注意在 Oracle 中Select 返回結果中沒有數據集的情況下,就會發生異常,需要進行異常處理。
在Sql server中 變量為Null
?
2.6 oracle中的異常處理
?
EXCEPTION
????? WHEN OTHERS
????? THEN
???????? --返回值賦值
???????? raise_application_error (-20000,
????????????????????????????????? '任務隊列入日志庫錯誤' || SQLERRM
???????????????????????????????? );
???????? GOTO proc_end;
???????? <<proc_end>>
???????? NULL;
?
?
2.7 變更影響行號數值的獲取
?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
?
?
2.8 通過Select 創建表
實例:?create table CC_NeedImport_CellPhoneSort as? select * from cellphonesort?
????語法格式:create Table 表名 as select *? from 表名
?
?
2.9 字符串拼接
實例:?? concat(endcode,'0')
SqlServer 中為 endcode+'0'
??
?
?
?
?
?
總結
以上是生活随笔為你收集整理的Oracle应用开发手记的全部內容,希望文章能夠幫你解決所遇到的問題。
- 上一篇: Java容器 | 基于源码分析Map集合
- 下一篇: raid5和raid6对比