Oracle格納プロセスと記憶関数作成方法(詳細は不明)


select*from emp;
----------------記憶過程--------------
を選択します
   create[or replace]プロシージャ名(パラメータ名[in]/outデータタイプ)
   is/as
   begin
--論理式 
end[プロシージャー名]
--保存プロセスを定義して年俸を計算し、出力を承諾する
  create or replace procedure proc usalyears(v_uno in number)
   is
   sal_years number(9,2)
   begin
 --年俸を計算する
select sal*12+nvl(comm,0)into sal_years from emp where empno=v_ノ;
--出力
dbms_out put.put_ラインyears;
   end;
--保存プロセスを起動する
 方式1:
call procsalyears(7788)
方式2:
begin
       procsalyears(7369)
     end; 
--outパラメータの格納手順
--年俸を計算して返す  
  create or replace procedure proc usalyears(v_uno in number,sal_years out number)
   is
   begin
 --年俸を計算する
select sal*12+nvl(comm,0)into sal_years from emp where empno=v_ノ;
   end;
--保存プロセスを起動する
declare
   v_。sal number(9,2)
  begin
     procsalyears(7876,v_sal);
     dbms_out put.put_LINEsal);
  end;
--------------記憶関数--------
を選択します
create or replace function格納関数名(パラメータ名in/outデータタイプ)
    returnデータタイプ
    is|as
    begin
        return具体的なデータ
    end[ファンクション名]
--保存関数名を定義して年俸を計算します。
create or replace function fun_salyearsno number)
    return number
    is
  sal_years number(9,2)
    begin
    select sal*12+nvl(comm,0)into sal_years from emp where empno=f_ノ;
        return sal_years
    end;
--記憶関数を使う
declare
  sal_yeats number(9,2)
  begin
    sal_yeats:=fun_salyears(7876)
    dbms_out put.put_ラインyeats;
  end;
 
--簡単に書くことができます
begin
    dbms_out put.put_ラインsalyears(7369)
  end;
----------記憶過程と記憶関数の違い---------
記憶プロセスは、アイテム間のデータ共有に多く使われ、記憶関数は多く記憶プロセスによって呼び出される。
保存関数はsql文で呼び出すことができます。保存プロセスはできません。