17.10 - SQLプロシージャでCURRENT_TIME関数とCURRENT_TIMESTAMP関数を使用するための指針 - Advanced SQL Engine - Teradata Database

Teradata Vantage™ - SQLデータ定義言語 詳細トピック

Product
Advanced SQL Engine
Teradata Database
Release Number
17.10
Release Date
2021年7月
Content Type
プログラミング リファレンス
Publication ID
B035-1184-171K-JPN
Language
日本語 (日本)

CURRENT_TIME関数またはCURRENT_TIMESTAMP関数を含むプロシージャを作成する場合、Vantageにより、DBS制御パラメータSystemTimeZoneHourとSystemTimeZoneMinuteのローカル セッション タイムゾーン設定に基づいた関数の作成者の時刻またはタイムゾーンの値を使用して、プロシージャのコンパイル時の関数値が取り込まれます。

これらのパラメータの設定を調整してタイムゾーンを調整すると、プロシージャが起動される場所にかかわらず現地時間に合わせて調整されているCURRENT_TIME関数またはCURRENT_TIMESTAMP関数の現行値を返すために作成されたすべてのプロシージャで、意図した結果が返されません。

プロシージャを定期的に再コンパイルすることはできますが、それはこの問題を常に解決するわけではありません。

最善なのは、サイトのtdlocaledefファイルに適切なタイムゾーン文字列を挿入することです。この方法では、Vantageにより自動的に必要なタイムゾーンの変更が行なわれ、プロシージャ内のCURRENT_TIME関数とCURRENT_TIMESTAMP関数が常に適切な値を返すようになります。

有効なタイムゾーン文字列の全一覧については、タイムゾーン文字列を参照してください。