ホームページ >データベース >mysql チュートリアル >PL/SQLプロシージャとファンクションの主な違いは何ですか?

PL/SQLプロシージャとファンクションの主な違いは何ですか?

DDD
DDDオリジナル
2024-12-27 21:10:11557ブラウズ

What's the Key Difference Between PL/SQL Procedures and Functions?

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 サイトの他の関連記事を参照してください。

声明:
この記事の内容はネチズンが自主的に寄稿したものであり、著作権は原著者に帰属します。このサイトは、それに相当する法的責任を負いません。盗作または侵害の疑いのあるコンテンツを見つけた場合は、admin@php.cn までご連絡ください。