以下の注意事項は、FNC_CallSPを使用する際に適用されます。
- ネストされたストアド プロシージャ呼び出しを行なう際は、それらのプロシージャのうち呼び出せる外部プロシージャは1つだけです。例えば、外部ストアド プロシージャは、別の外部ストアド プロシージャを呼び出すストアド プロシージャを呼び出すことはできません。
- CLIv2を使用してSQLを実行する外部ストアド プロシージャからストアド プロシージャを呼び出すには、FNC_CallSPではなくCLIv2を使用してCALL文を実行することをお勧めします。
- 通常、ストアド プロシージャは、呼び出しに使用された、最も制限されたプロシージャのアクセス句に対応する文のみを実行できます。 例えば、以下のような場合について考えてみます。
- CREATE PROCEDURE文がNO SQL (デフォルト)のデータ アクセス句を指定するストアド プロシージャsp1。
- CREATE PROCEDURE文がMODIFIES SQL DATAのデータ アクセス句を指定するストアド プロシージャsp2。
ストアド プロシージャsp1がストアド プロシージャsp2を呼び出す場合、呼び出し側はすでにNO SQLデータ アクセス句によって制限されているため、ストアド プロシージャsp2はSQL文を実行できません。
ただし、FNC_CallSPを使用して、外部ストアド プロシージャからストアド プロシージャsp2を呼び出す場合、外部ストアド プロシージャのデータ アクセス句は無視され、ストアド プロシージャsp2はデータを変更するSQL文を実行できます。