欧美vvv,亚洲第一成人在线,亚洲成人欧美日韩在线观看,日本猛少妇猛色XXXXX猛叫

新聞資訊

    存儲過程

    存儲過程的基本語法

    1.基本結構

    OR 存儲過程名字

    (

    參數1 IN ,

    參數2 IN

    ) IS

    變量1 :=0;

    變量2 DATE;

    BEGIN

    END 存儲過程名字

    2. INTO

    將查詢的結果存入到變量中,可以同時將多個列存儲多個變量中oracle存儲過程關鍵字,必須有一條

    記錄,否則拋出異常(如果沒有記錄拋出)

    例子:

    BEGIN

    col1,col2 into 變量1,變量2 FROM where xxx;

    WHEN THEN

    xxxx;

    END;

    ...

    3.IF 判斷

    IF =1 THEN

    BEGIN

    do

    END;

    END IF;

    4.while 循環

    WHILE =1 LOOP

    BEGIN

    XXXX

    END;

    END LOOP;

    5.變量賦值

    := 123;

    6.用for in 使用

    ...

    IS

    cur IS * FROM xxx;

    BEGIN

    FOR in cur LOOP

    BEGIN

    V_SUM :=.列名1+.列名2

    END;

    END LOOP;

    END;

    7.帶參數的

    (C_ID ) IS NAME FROM USER WHERE =C_ID;

    OPEN (變量值);

    LOOP

    FETCH INTO ;

    EXIT FETCH %;

    do

    END LOOP;

    CLOSE ;

    8.用pl/sql debug

    連接數據庫后建立一個Test

    在窗口輸入調用SP的代碼,F9開始debug,CTRL+N單步調試

    關于存儲過程的若干問題備忘

    1.在中,數據表別名不能加as,如:

    也許,是怕和中的存儲過程中的關鍵字as沖突的問題吧

    2.在存儲過程中,某一字段時,后面必須緊跟into,如果整個記錄,利用游標的話就另當別論了。

    3.在利用...into...語法時oracle存儲過程關鍵字,必須先確保數據庫中有該條記錄,否則會報出"no data found"異常。

    可以在該語法之前,先利用 count(*) from查看數據庫中是否存在該記錄,如果存在,再利用...into...

    4.在存儲過程中,別名不能和字段名稱相同,否則雖然編譯可以通過,但在運行階段會報錯

    5.在存儲過程中,關于出現null的問題

    假設有一個表A,定義如下:

    如果在存儲過程中,使用如下語句:

    如果A表中不存在bid=""的記錄,則=null(即使定義時設置了默認值,如: (8):=0依然無效,還是會變成null),這樣以后使用時就可能有問題,所以在這里最好先判斷一下:

    這樣就一切ok了。

    6.調用存儲過程

    存儲過程學習

    存儲過程創建語法:

    or 存儲過程名( in type, out type)

    as

    變量1 類型(值范圍);

    變量2 類型(值范圍);

    Begin

    count(*) into 變量1 from 表A where列名=;

    If (判斷條件) then

    列名 into 變量2 from 表A where列名=;

    。(‘打印信息’);

    Elsif (判斷條件) then

    。(‘打印信息’);

    Else

    Raise 異常名();

    End if;

    When then

    ;

    End;

    注意事項:

    1, 存儲過程參數不帶取值范圍,in表示傳入,out表示輸出

    2, 變量帶取值范圍,后面接分號

    3, 在判斷語句前最好先用count(*)函數判斷是否存在該條操作記錄

    4, 用 。。。into。。。給變量賦值

    5, 在代碼中拋異常用 raise+異常名

    以命名的異常

    命名的系統異常 產生原因

    未定義對象

    CASE 中若未包含相應的 WHEN ,并且沒有設置

    ELSE 時

    集合元素未初始化

    游標已經打開

    唯一索引對應的列上有重復的值

    在不合法的游標上進行操作

    內嵌的 SQL 語句不能將字符轉換為數字

    使用 into 未返回行,或應用索引表未初始化的

    執行 into 時,結果集超過一行

    除數為 0

    元素下標超過嵌套表或 的最大值

    使用嵌套表或 時,將下標指定為負數

    賦值時,變量長度不足以容納實際數據

    PL/SQL 應用程序連接到 數據庫時,提供了不

    正確的用戶名或密碼

    PL/SQL 應用程序在沒有連接 數據庫的情況下

    訪問數據

    PL/SQL 內部問題,可能需要重裝數據字典& pl./SQL

    系統包

    宿主游標變量與 PL/SQL 游標變量的返回類型不兼容

    使用對象類型時,在 null 對象上調用對象方法

    運行 PL/SQL 時,超出內存空間

    無效的 ROWID 字符串

網站首頁   |    關于我們   |    公司新聞   |    產品方案   |    用戶案例   |    售后服務   |    合作伙伴   |    人才招聘   |   

友情鏈接: 餐飲加盟

地址:北京市海淀區    電話:010-     郵箱:@126.com

備案號:冀ICP備2024067069號-3 北京科技有限公司版權所有