17.00 - 17.05 - 使用上の注意 - Advanced SQL Engine - Teradata Database

Teradata Vantage™ - SQL外部ルーチン プログラミング

Product
Advanced SQL Engine
Teradata Database
Release Number
17.00
17.05
Published
2020年6月
Content Type
プログラミング リファレンス
Publication ID
B035-1147-170K-JPN
Language
日本語 (日本)

以下の注意事項は、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文を実行できます。