CURRENT_TIME関数またはCURRENT_TIMESTAMP関数を含むプロシージャを作成する場合、Teradata Databaseにより、DBS制御パラメータSystemTimeZoneHourとSystemTimeZoneMinuteのローカル セッション タイムゾーン設定に基づいた関数の作成者の時刻またはタイムゾーンの値を使用して、プロシージャのコンパイル時の関数値が取り込まれます。
これらのパラメータの設定を調整してタイムゾーンを調整すると、プロシージャが起動される場所にかかわらず現地時間に合わせて調整されているCURRENT_TIME関数またはCURRENT_TIMESTAMP関数の現行値を返すために作成されたすべてのプロシージャで、意図した結果が返されません。
プロシージャを定期的に再コンパイルすることはできますが、それはこの問題を常に解決するわけではありません。
最善なのは、サイトのtdlocaledefファイルに適切なタイムゾーン文字列を挿入することです。この方法では、Teradata Databaseにより自動的に必要なタイムゾーンの変更が行なわれ、プロシージャ内のCURRENT_TIME関数とCURRENT_TIMESTAMP関数が常に適切な値を返すようになります。
有効なタイムゾーン文字列の全一覧については、タイムゾーン文字列を参照してください。