国产探花免费观看_亚洲丰满少妇自慰呻吟_97日韩有码在线_资源在线日韩欧美_一区二区精品毛片,辰东完美世界有声小说,欢乐颂第一季,yy玄幻小说排行榜完本

首頁 > 數(shù)據(jù)庫 > Oracle > 正文

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

2020-07-26 14:05:33
字體:
供稿:網(wǎng)友

select * from emp;

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

--定義

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

--邏輯表達式 

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)用,存儲過程不能.

發(fā)表評論 共有條評論
用戶名: 密碼:
驗證碼: 匿名發(fā)表
主站蜘蛛池模板: 黄山市| 聂拉木县| 贺州市| 通榆县| 深圳市| 平原县| 华坪县| 姜堰市| 昌乐县| 灌阳县| 赞皇县| 临汾市| 南通市| 栾川县| 宜兴市| 东海县| 遵义市| 怀远县| 桓仁| 鹿泉市| 乌兰浩特市| 湖州市| 西吉县| 噶尔县| 嘉鱼县| 兴安县| 桂阳县| 隆尧县| 马尔康县| 东海县| 唐山市| 凤翔县| 化州市| 锡林浩特市| 肥城市| 涞水县| 榆林市| 成安县| 怀宁县| 永济市| 西青区|