\r\n\r\n
プログラミングにおけるプロシージャと関数
プログラミングでは、プロシージャとファンクションにより、プログラマーは命令を1つのブロックにまとめ、プログラム内の別の場所から呼び出すことができます。コードが理解しやすくなり、コンパクトになります。一カ所で変更を行うことで、コード全体に影響が及びます。関数やプロシージャの助けを借りて、線形コードと長いコードを別々の部分に分割することができます。より柔軟なプログラミング言語を提供します。
関数とは何ですか?
関数は、パラメータとも呼ばれる引数を受け取ることができる。これらの引数やパラメータと、与えられた型の戻り値に従ってタスクを実行するのです。この関数は、引数として文字列を受け取り、データベースから最初のエントリまたはレコードを返します。これらの文字で始まる特定のフィールドの内容を考慮します。
この関数のシンタックスは次のとおりです。
関数 my_func を作成または置換する
(p_name in VARCHAR2: = 'Jack') returns VARCHAR2 as begin...end.
どのような手順で行うのですか?
プロシージャは、パラメータまたは引数を受け取り、これらのパラメータに基づいてタスクを実行することができます。プロシージャが文字列を引数として受け取り、それがデータベースのレコードを含むリストを与える場合、その **定義されたフィールドはこれらの文字で始まる。
手順のシンタックスは以下の通りです。
プロシージャの作成または置換 myttp
(p_name in VARCHAR2: = 'Jack') as begin...end
関数やプロシージャの引数の渡し方には、大きく分けて「値渡し」と「参照渡し」の2種類があります。引数が値で渡される場合、その実際の値に影響を与えることなく、関数やプロシージャの中で修正が行われます。
一方、パラメータが参照渡しである場合、このパラメータの実際の値は、命令が呼び出される場所によって、コードのどこででも変化することになります。
プロシージャと関数の違い -プロシージャは引数が渡されると値を返しませんが、関数は必ず値を返します。-両者の大きな違いの1つは、プロシージャがデータベースで使用されないのに対し、ファンクションはデータベースから値を返すという重要な役割を担っていることです。-プロシージャは複数の値を返すことができますが、関数は限られた数の値しか返しません。-ストアドプロシージャでは DML 操作を使用できますが、関数では使用できません。-関数は1つの値しか返せないが、プロシージャはn個または0個の値を返すことができ、これは必須である。-関数ではエラー処理を行うことができますが、プロシージャではエラー処理を行うことができません。-プロシージャでは入力パラメータと出力パラメータを渡すことができますが、関数では入力パラメータのみを渡すことができます。-関数はプロシージャから呼び出すことができますが、プロシージャは関数から は呼び出すことができません。 |