比較プロジェクト |
ストアドプロシージャ |
機能 |
戻り値はあります |
または存在しない場合があります |
1つのみ存在する必要があります |
私は一人で行うことができます |
缶 |
実行によって実行されなければなりません |
SQL文(DMLまたはSELECT)を呼び出すことができます |
できません |
そして、(オブジェクトテーブルリターンので)FROMキーワードの後ろに配置することができます |
パラメータタイプ |
缶に、OUT、3つのモードの、IN OUTパラメータ |
では、オラクルだけは、IN、OUT、OUT、INパラメータの3種類を使用することができます |
戻り値の型 |
月、のOUTパラメータを返すには、ゼロ個以上のパラメータがOUT値 |
単一の値またはテーブルオブジェクト |
差関数および手続記憶
一般に1)、もう少し記憶された複雑な機能を実現するプロセスが、比較的強い特定の機能を実現する機能。ストアドプロシージャ、強力な、データベーステーブルのシリーズを実行することができるが変更する操作を含む、ユーザ定義関数は、グローバルデータベースの状態を変更する操作のセットを実行するために使用することができません。
2)ストアドプロシージャの場合には、このようなレコードセットなどのパラメータを返すことができ、そして関数が値またはテーブルオブジェクトを返すことができます。関数は、変数を返すことができ、ストアドプロシージャを複数返すことができます。関数宣言の戻り値の型を記述するために必要な、クラス宣言の手順で~~格納され、関数本体が有効に含まれている必要があります場合にのみ、ストアドプロシージャのパラメータは、IN、OUT、INOUT 3種類を持つことができ、関数は戻り値の型を持っていませんRETURN文。
3)ストアドプロシージャは、本体内にユーザ定義関数に内蔵された非許容決意関数、非関数を決定するために使用することができます。
4)ストアドプロシージャは、一般的に別の部分が(ステートメントの実行を実行)が行われるように、機能テーブルオブジェクトを返すことができるので、関数は、クエリ文の一部として(コールを選択)と呼ばれることができ、それはでステートメントを照会することができFROMキーワードの後ろに位置しています。ストアドプロシージャをSQL文では使用できません、と機能を使用することができます。