プログラミングにおける手続きと関数の違い

Anonim

プロシージャとプログラミングの関数

プログラミングのプロシージャとファンクションを使用すると、プログラマは、プログラム内のさまざまな場所から呼び出すことができます。コードは理解しやすく、コンパクトになります。変更を一箇所で行うことで、コード全体が影響を受けます。機能と手順の助けを借りて、線形およびロングコードを独立したセクションに分割することができます。さまざまなプログラミング言語とデータベースのコーディングに柔軟性を提供します。

関数とは何ですか?

関数は引数としても知られるパラメータを受け入れることができます。これらの引数やパラメータに従ってタスクを実行し、与えられた型の値を返します。例の助けを借りてよりうまく説明できます:関数は文字列をパラメータとして受け取り、データベースから最初のエントリまたはレコードを返します。このような文字で始まる特定のフィールドの内容が考慮されます。

<!関数の構文は次のとおりです。

CREATE OR REPLACE FUNCTION my_func

(p_name IN VARCHAR2:= 'Jack')varchar2をbegin … end

プロシージャとは?

プロシージャはパラメータまたは引数を受け入れ、これらのパラメータに従ってタスクを実行します。プロシージャが文字列をパラメータとして受け取り、特定のフィールドの内容がそのような文字で始まるデータベース内のレコードを含むリストを出力する場合。

<!プロシージャの構文は次のとおりです。

CREATE OR REPLACE PROCEDURE my_proc

<!主に、ファンクションおよびプロシージャでパラメータが渡される方法は2つあります。これらのファンクションおよびプロシージャでは、次の2つの方法があります。価値によってまたは参照によって。パラメータが値によって渡された場合。その変更は、その実際の値に影響を与えることなく、関数またはプロシージャ内で影響を受けます。一方、パラメータが参照渡しで渡された場合。このパラメータの実際の値は、命令内でコード内で呼び出されたときはいつでも変更されます。

プロシージャとファンクションの違い

•パラメータがプロシージャに渡されたとき。関数は常に値を返しますが、値は返されません。

•両方の主な違いの1つは、プロシージャはデータベースでは使用されず、関数はデータベースから値を返す際に重要な役割を果たします。

<! - > -

•プロシージャは複数の値を返すことができ、関数は制限された値を返すことができます。

•ストアド・プロシージャでDML操作を使用できます。しかし、それらは機能では不可能です。

•関数は1つの値だけを返すことができ、プロシージャはnまたはゼロの値を返すことができますが、必須です。

•関数では、エラー処理はできませんが、ストアドプロシージャでは実行できます。

•入力パラメータと出力パラメータは手続きで渡すことができますが、関数の場合は手続きで渡すことができます。入力パラメータのみを渡すことができます。

•プロシージャから関数を呼び出すことはできますが、関数からプロシージャを呼び出すことはできません。

•取引管理は手順上考慮することができ、機能の場合は考慮することができません。