後に続く指定により、プロシージャのタイム ゾーンが設定されます。COMPILEオプションまたはCOMPILE ONLYオプションのいずれかが先行する場合にのみ、AT TIME ZONEを指定できます。AT TIME ZONEを単独で、またはEXECUTE PROTECTEDオプションやEXECUTE NOT PROTECTEDオプションの後に続けて指定することはできません。
- LOCAL
- プロシージャのタイム ゾーンをシステム デフォルトに設定します。
- sign ‘quotestring’
- プロシージャのタイムゾーン オフセットを± ‘quotestring'に設定します。記号の指定はオプションです。デフォルトは+です。Teradata Databaseは指定された式を必要に応じて、かつ許可される場合は、タイムゾーン変位またはタイムゾーン文字列に暗黙的に変換します。Teradata Databaseが± ‘quotestring’データ型で実行する暗黙的なデータ型変換の完全なリストについては、<Teradata Vantage™ SQLデータ定義言語 - 詳細トピック、B035-1184>の「SET TIME ZONE」を参照してください。
例: 外部プロシージャをともなうAT TIME ZONEオプションの使用
この例では、C言語のspa_tzという名前の外部プロシージャでのAT TIME ZONEオプションを示します。
ALTER PROCEDURE spa_tz COMPILE AT TIME ZONE LOCAL;
AT TIME ZONEオプションは、COMPILEオプションまたはCOMPILE ONLYオプションのいずれかの後に続けて指定する場合にのみ有効です。
例えば、次のリクエストは、AT TIME ZONEの指定がリクエストのCOMPILEの指定に先行しているため無効です。
ALTER PROCEDURE spa_tz LANGUAGE C AT TIME ZONE COMPILE 'gmt';
同じリクエストを適切な順序でオプションを指定すると有効になり、リクエストどおりにプロシージャを変更します。
ALTER PROCEDURE spa_tz LANGUAGE C COMPILE AT TIME ZONE 'gmt';