外部プロシージャを作成すると、データベースは、そのプロシージャの定義と一緒に現在のセッションのタイムゾーンを格納します。その結果、そのプロシージャに含まれているSQL言語要素を常に同じタイムゾーンで実行し、常に一貫性のある結果を生成することが可能になります。 ただし、プロシージャに入力パラメータとして渡される時刻とタイムスタンプのデータでは、プロシージャの作成時のタイムゾーンではなく実行時セッションのタイムゾーンが使用されます。
ALTER PROCEDURE文のAT TIME ZONEオプションを使用すると、プロシージャを再コンパイルする際に外部プロシージャのすべてのSQL要素に関するタイムゾーンをリセットできます。その後、データベースは新しく指定されたタイムゾーンを、プロシージャの作成タイムゾーンとして格納します。
AT TIME ZONEは必ずCOMPILEオプションと共に指定して、COMPILEの仕様に従う必要があります。このようにしないと、データベースはリクエストを中断して、リクエスト元にエラーを返します。詳細は、<Teradata Vantage™- SQLデータ定義言語 - 詳細トピック、B035-1184>の「ALTER PROCEDURE (外部形式)」を参照してください。