ストアド プロシージャの再コンパイル - Advanced SQL Engine - Teradata Database

Teradata Vantage™ - SQLストアド プロシージャおよび埋め込みSQL

Product
Advanced SQL Engine
Teradata Database
Release Number
17.10
Published
2021年7月
Language
日本語
Last Update
2021-09-23
dita:mapPath
ja-JP/vqj1592443206677.ditamap
dita:ditavalPath
ja-JP/wrg1590696035526.ditaval
dita:id
B035-1148
Product Category
Software
Teradata Vantage

メジャー リリースにアップグレードまたは移行するときには、ストアド プロシージャを必ず再コンパイルする必要があります。ストアド プロシージャの再コンパイルには、ALTER PROCEDURE文を使用します。

SQLプロシージャのAT TIME ZONEオプション

SQLプロシージャを作成すると、Vantageは、そのプロシージャの定義と一緒に現在のセッションのタイムゾーンを格納します。その結果、そのプロシージャに含まれているSQL制御言語要素とSQL文を常に同じタイムゾーンで実行し、常に一貫性のある結果を生成することが可能になります。 ただし、プロシージャに入力パラメータとして渡される時刻とタイムスタンプのデータでは、プロシージャの作成時のタイムゾーンではなく実行時セッションのタイムゾーンが使用されます。

AT TIME ZONEオプションを使用すると、プロシージャを再コンパイルする際にSQLプロシージャのすべてのSQL要素に関するタイムゾーンをリセットできます。その後、Vantageは新しく指定されたタイムゾーンを、プロシージャの作成時タイムゾーンとして格納します。

AT TIME ZONEを指定できるのは、COMPILE [ONLY]オプションを指定する場合に限られます。さらに、COMPILE [ONLY]の指定の後に記述する必要もあります。それ以外の場合は、Vantageがリクエストをアボートし、リクエスト側にエラーを返します。

タイムゾーン文字列の使用に関する制約

標準Teradataシステム タイムゾーン文字列を使用するときに、タイムゾーン ルール(例えば、DST(Daylight Saving Time)シフト)は、1986年以前には適用されません。Teradata標準タイムゾーン文字列の有効な年は、1987年から9999年までです。

Teradata標準タイムゾーン文字列が要件を満たさない場合、新しいカスタム タイムゾーン文字列を追加することができます。または、ルールを変更するか、新規ルールをGetTimeZoneDisplacementに追加することによって既存の文字列を変更することもできます。

ALTER PROCEDUREのSQL形式の詳細については、<Teradata Vantage™ - SQLデータ定義言語-構文規則および例、B035-1144>を参照してください。