PL / SQL関数の学習

免責事項:この記事はブロガーオリジナル記事ですが、許可ブロガーなく再生してはなりません。https://blog.csdn.net/u012414590/article/details/68559690

文法

CREATE [OR REPLACE] FUNCTION function_name [(
   parameter_1 [IN] [OUT] data_type,
   parameter_2 [IN] [OUT] data_type,
   parameter_N [IN] [OUT] data_type]
    RETURN return_data_type IS
--the declaration statements
BEGIN
   -- the executable statements
   return return_data_type;
   EXCEPTION
    -- the exception-handling statements
END;

1.FUNCTION FUNCTION_NAME関数名キーワードが指定されている、慣例により、関数名は、例えばconvert_to_num、動詞で始まる必要があります
。2.関数がゼロ以上のパラメータを有していてもよく、parameter_1で、parameter_2は、パラメータ名を指定し、など、DATA_TYPEに明確でなければなりません各パラメータのデータ型を指定し、各パラメータは、3つのモードのいずれかです。ででは、OUTとOUTは
-パラメータのモードパラメータが読み込まれる試みがINパラメータ値の機能を変更する場合、コンパイラはエラーメッセージを発行します、定数、リテラル、変数、または式を話すことができるで関数にパラメータとして渡された初期化するために
- OUTモードパラメータ前書き込み専用パラメータ、呼び出しプログラムに値を返すために使用OUTパラメータ、関数に渡された関数は、パラメータをOUT開始したときデフォルト値は関係なく、元の値の、その型に初期化され
、関数の値は、中から機能を読み出すことを意味し、OUTのパラメータを読み込み、パラメータを記述している、その値を変更し、呼び出しプログラムに返します-
3。関数は、少なくとも部分的に機能ヘッダrrturn句は、戻り値のデータ型を指定し、returnステートメントに実行されなければなりません

以下の要件を満たし機能書く
1.入力パラメータを
デフォルト値ではありません値の入力を開始-
-終了値にはデフォルトの入力値ではありません
。2.戻り値:値
3.呼び出しは、
プロシージャを実行し、最後に開始から得られた値積算結果の値(例:関数入力パラメータは1から50であり、累積値= 1275の1〜50の結果)

create or replace function custom_sum(startnum in number, endnum in number)
    return number is
    i  number;
    re number;
begin
    i  := startnum;
    re := 0;
    while i <= endnum loop
        re := re + i;
        i  := i + 1;
    end loop;
    return re;
end;

PL / SQL関数を呼び出し

PL / SQL関数は、値を返すので、割り当てに右またはSELECT文で使用することができ
、上記custom_sum()関数を使用して、無名ブロックを作成します

declare
    re number;
begin
    re := custom_sum(1, 50);
    dbms_output.put_line(re);
end;

1275年の結果を取得します

おすすめ

転載: blog.csdn.net/u012414590/article/details/68559690