Oracle プロシージャと関数の違い: 1. Oracle プロシージャには 0 個以上のパラメータがあり、戻り値はありませんが、Oracle 関数にはパラメータがないか、複数のパラメータと戻り値があります; 2. Oracle プロシージャと呼ばれます。 oracle 関数は正当な式として呼び出されますが、独立した実行ステートメントとして呼び出されます。
このチュートリアルの動作環境: Windows 10 システム、Oracle バージョン 12c、Dell G3 コンピューター。
1. Oracle プロシージャと関数は、コンパイルされた形式でデータベースに保存されます。
関数にはパラメータを含めないか、パラメータを多く含めることができます。 . パラメータと戻り値。
プロシージャには 0 個以上のパラメータがあり、戻り値はありません。
2. 関数とプロシージャは両方とも、パラメーター リストを通じて 0 個以上の値を受け取ったり返したりすることができます。関数とプロシージャの主な違いは戻り値ではなく、呼び出し方法です。
Oracle プロシージャは独立した実行ステートメントとして呼び出されます:
pay_involume(invoice_nbr,30,due_date);
関数は正当な式として呼び出されます:
order_volumn:=open_orders(SYSDATE,30);
プロシージャを作成するための構文は次のとおりです:
各パラメータの構文は次のとおりです。
paramter_name mode datatype [(:=|DEFAULT) value]
拡張知識:
mode には 3 つの形式があります: IN、OUT、入出力。
IN は、プロセスが呼び出されたときに、実パラメータの値がプロセスに渡されることを意味します。仮パラメータは読み取り専用とみなされます。プロセスが終了すると、コントロールはコントロールに戻ります実際のパラメータの値は変更されません。
OUT プロシージャを呼び出すとき、実パラメータの値は無視されます。プロシージャ内では、仮パラメータには値を代入することのみが可能ですが、データを読み取ることはできません。仮パラメータの内容プロシージャ終了後に割り当てられる実際のパラメータ。
INOUT モードは IN と OUT の組み合わせです。Oracle プロセス内では、実パラメータの値が仮パラメータに渡されます。ステータス パラメータの値は、読み取りまたは書き込みが可能です。プロセス後終了すると、ステータス パラメータの値が実際のパラメータに割り当てられます。
推奨チュートリアル: 「Oracle ビデオ チュートリアル 」
以上がOracleのプロシージャと関数の違いは何ですかの詳細内容です。詳細については、PHP 中国語 Web サイトの他の関連記事を参照してください。