ホームページ >データベース >mysql チュートリアル >PL/SQLプロシージャとファンクションの主な違いは何ですか?
PL/SQL の関数とプロシージャの区別
PL/SQL は、他の多くのプログラミング言語と同様に、コードをモジュール単位にカプセル化するメカニズムを提供しますプロシージャと関数として知られています。これらの構成要素は類似点を共有していますが、値を返す機能という決定的な違いがあります。
プロシージャは、明示的に値を返さずに特定のタスクを実行するサブルーチンです。これは主に、入力パラメータの変更、データの操作、または操作の実行に役立ちます。次の例を考えてみましょう。
CREATE OR REPLACE PROCEDURE my_proc (p_name IN VARCHAR2 := 'John') AS BEGIN -- Do something with p_name END;
対照的に、関数は、タスクを実行するだけでなく、値も返すサブルーチンです。プロシージャと同様にパラメータを受け入れますが、return 句が必要です。戻り値は、関数を呼び出す変数に代入されます。以下に例を示します。
CREATE OR REPLACE FUNCTION my_func(p_name IN VARCHAR2 := 'John') RETURN VARCHAR2 AS BEGIN -- Do something with p_name RETURN 'Hello, ' || p_name; END;
関数内のパラメータ リストの後に RETURN 句が含まれていることにご注意ください。関数本体の最後のステートメントは通常、返されるローカル変数 (この例の my_varchar2_local_variable など) に値を割り当てます。
以上がPL/SQLプロシージャとファンクションの主な違いは何ですか?の詳細内容です。詳細については、PHP 中国語 Web サイトの他の関連記事を参照してください。