欧美bbbwbbbw肥妇,免费乱码人妻系列日韩,一级黄片

Oracle存儲過程和存儲函數(shù)創(chuàng)建方法(詳解)

 更新時間:2017年06月17日 10:16:00   投稿:jingxian  
下面小編就為大家?guī)硪黄狾racle存儲過程和存儲函數(shù)創(chuàng)建方法(詳解)。小編覺得挺不錯的,現(xiàn)在就分享給大家,也給大家做個參考。一起跟隨小編過來看看吧

select * from emp;

-----------------存儲過程------------------------

--定義

   create[or replace] procedure 存儲過程名稱(參數(shù)名 [in]/out 數(shù)據(jù)類型)
   is/as
   begin

--邏輯表達(dá)式 

end [存儲過程名稱];

--定義存儲過程計算年薪,并答應(yīng)輸出

  create or replace procedure proc_salyears(v_no in number)
   is
   sal_years number(9,2);
   begin

 --計算年薪

select sal*12+nvl(comm,0) into sal_years from emp where empno=v_no;

--輸出

dbms_output.put_line(sal_years);
   end;

--調(diào)用存儲過程

 方式1:

call proc_salyears(7788);

方式2:

begin
       proc_salyears(7369);
     end; 

--out參數(shù)的存儲過程

--計算年薪并返回  

  create or replace procedure proc_salyears(v_no in number,sal_years out number)
   is
   begin

 --計算年薪

select sal*12+nvl(comm,0) into sal_years from emp where empno=v_no;
   end;

--調(diào)用存儲過程

declare
   v_sal number(9,2);
  begin
     proc_salyears(7876,v_sal);
     dbms_output.put_line(v_sal);
  end;

-----------------存儲函數(shù)------------

--定義

create or replace function 存儲函數(shù)名(參數(shù)名 in/out 數(shù)據(jù)類型)
    return 數(shù)據(jù)類型
    is|as
    begin
        return 具體的數(shù)據(jù);
    end [存儲函數(shù)名稱];

--定義存儲函數(shù)名計算年薪

create or replace function fun_salyears(f_no number)
    return number
    is
  sal_years number(9,2);
    begin
    select sal*12+nvl(comm,0) into sal_years from emp where empno=f_no;
        return sal_years;
    end ;

--使用存儲函數(shù)

declare
  sal_yeats number(9,2);
  begin
    sal_yeats := fun_salyears(7876);
    dbms_output.put_line(sal_yeats);
  end;
 

--可簡寫

begin
    dbms_output.put_line(fun_salyears(7369));
  end;

--------存儲過程和存儲函數(shù)的區(qū)別--------

存儲過程多用于項目之間的數(shù)據(jù)共享,存儲函數(shù)多被存儲過程調(diào)用.

存儲函數(shù)可以再sql語句中調(diào)用,存儲過程不能.

相關(guān)文章

最新評論