以下のルールが入出力に適用されます。
UDFのアクセス | 関数での規則 |
---|---|
非保護実行モードで実行される場合 | 標準入出力およびネットワーク入出力を含む、すべての入出力を実行できません。 |
CREATE FUNCTION文またはREPLACE FUNCTION文にEXTERNAL SECURITY句が指定されている場合 | 入出力を実行するか、オペレーティング システムと対話して、オペレーティング システムがファイル ハンドルやオブジェクト ハンドルなどのリソースを保持するようにできます。 この関数は、CREATE AUTHORIZATION文またはREPLACE AUTHORIZATION文によって確立された特定のネイティブ オペレーティング システム ユーザーの許可の下で別個のプロセスとして実行されます。 この関数は、完了前にオープンしているリソースを解放する(つまり、ハンドルを閉じる)必要があります。テーブル関数は、終了フェーズの完了前にオープンしているリソースを解放する必要があります。他のすべてのタイプの関数は、関数の各インスタンスの終了前にオープンしているリソースを解放する必要があります。 |
保護実行モードで実行される場合 | 入出力を実行するか、オペレーティング システムと対話して、オペレーティング システムがファイル ハンドルやオブジェクト ハンドルなどのリソースを保持するようにできます。 関数は、'tdatuser'オペレーティング システム ユーザーの許可の下で別個のプロセスとして実行されます。 この関数は、完了前にオープンしているリソースを解放する(つまり、ハンドルを閉じる)必要があります。テーブル関数は、終了フェーズの完了前にオープンしているリソースを解放する必要があります。他のすべてのタイプの関数は、関数の各インスタンスの終了前にオープンしているリソースを解放する必要があります。 保護実行モードの詳細については、保護モード関数の実行を参照してください。 |