外部ストアド プロシージャは、標準入出力またはネットワーク入出力を実行できません。
以下の状況では、外部ストアド プロシージャは、入出力を実行するか、オペレーティング システムと対話して、オペレーティング システムがファイル ハンドルやオブジェクト ハンドルなどのリソースを保持するようにできます。
CREATE PROCEDURE文またはREPLACE PROCEDURE文の動作 | 外部ストアド プロシージャ |
---|---|
EXTERNAL SECURITY句を指定する | CREATE AUTHORIZATION文またはREPLACE AUTHORIZATION文によって確立された特定のネイティブ オペレーティング システム ユーザーの許可の下で別個のプロセスとして実行されます。 外部ストアド プロシージャは、ユーザーが権限を持つシステム リソースにアクセスできます。 プロシージャは、完了前にオープンしているリソースを解放する(つまり、ハンドルを閉じる)必要があります。 |
EXTERNAL SECURITY句を指定しない | 外部ストアド プロシージャが保護実行モードで実行される場合、入出力を実行できます。 保護実行モードでは、外部ストアド プロシージャは、'tdatuser' (Teradata Databaseインストール プロセスで作成されるローカル オペレーティング システム ユーザー)の別個のプロセスとして実行されます。 外部ストアド プロシージャは、tdatuser が権限を持つシステム リソースにアクセスできます。 プロシージャは、完了前にオープンしているリソースを解放する(つまり、ハンドルを閉じる)必要があります。 保護実行モードの詳細については、保護モードでの実行を参照してください。 |