首頁>Club>
建立儲存過程檢測指定教師、指定節次是否有課,建立儲存過程生成指定班級的課程表。
14
回覆列表
  • 1 # 淮安二傻子

    Oracle儲存過程包含三部分:過程宣告,執行過程部分,儲存過程異常。

    Oracle儲存過程可以有無引數儲存過程和帶引數儲存過程。

    一、無參程式過程語法

    1 create or replace procedure NoParPro

    2 as ;

    3 begin

    4 ;

    5 exception //儲存過程異常

    6 ;

    7 end;

    8

    二、帶參儲存過程例項

    1 create or replace procedure queryempname(sfindno emp.empno%type) as

    2 sName emp.ename%type;

    3 sjob emp.job%type;

    4 begin

    5 ....

    7 exception

    ....

    14 end;

    15

    三、 帶引數儲存過程含賦值方式

    1 create or replace procedure runbyparmeters (isal in emp.sal%type,

    sname out varchar,sjob in out varchar)

    2 as icount number;

    3 begin

    4 select count(*) into icount from emp where sal>isal and job=sjob;

    5 if icount=1 then

    6 ....

    9 else

    10 ....

    12 end if;

    13 exception

    14 when too_many_rows then

    15 DBMS_OUTPUT.PUT_LINE("返回值多於1行");

    16 when others then

    17 DBMS_OUTPUT.PUT_LINE("在RUNBYPARMETERS過程中出錯!");

    18 end;

    19

    四、在Oracle中對儲存過程的呼叫

    過程呼叫方式一

    1 declare

    2 realsal emp.sal%type;

    3 realname varchar(40);

    4 realjob varchar(40);

    5 begin //儲存過程呼叫開始

    6 realsal:=1100;

    7 realname:="";

    8 realjob:="CLERK";

    9 runbyparmeters(realsal,realname,realjob); --必須按順序

    10 DBMS_OUTPUT.PUT_LINE(REALNAME||" "||REALJOB);

    11 END; //過程呼叫結束

    12

    過程呼叫方式二

    1 declare

    2 realsal emp.sal%type;

    3 realname varchar(40);

    4 realjob varchar(40);

    5 begin //過程呼叫開始

    6 realsal:=1100;

    7 realname:="";

    8 realjob:="CLERK";

    9 runbyparmeters(sname=>realname,isal=>realsal,sjob=>realjob); --指定值對應變數順序可變

    10 DBMS_OUTPUT.PUT_LINE(REALNAME||" "||REALJOB);

    11 END; //過程呼叫結束

  • 2 # IT生涯

    儲存過程基本語法

    create or replace procedure update_emp_sal(

    Name in out type, Name in out type, ...

    )

    isbegin end update_emp_sal;

  • 3 # JAVA猿

    儲存過程語法格式:

    CREATE [OR REPLACE] PROCEDURE procedure_name

    [(parameter1[model] datatype1, parameter2 [model] datatype2..)]

    IS[AS]

    BEGIN

    PL/SQL;

    END [procedure_name];

    說明:

    parameter用於指定引數,model用於指定引數模式,datatype用於指定引數型別

    定義儲存過程的引數時,只能指定資料型別,不能指定資料長度

    IS/AS用於開始PL/SQL程式碼塊

    建立儲存過程時,既可以指定引數也可以不指定任何引數;

    儲存過程引數:

    1)輸入引數 IN:IN用於接收呼叫環境的輸入引數(建立儲存過程時,輸入引數的IN可以省略)         

    2) 輸出引數 OUT:OUT用於將輸出資料傳遞到呼叫環境          

    3) 輸入輸出引數(IN OUT):其中IN用於接收呼叫環境的輸入引數,OUT用於將輸出資料傳遞到呼叫環境

  • 中秋節和大豐收的關聯?
  • 維生素D一定要補嗎?