Syntax|Teradata PT|DEFINE SCHEMA - 構文 - Parallel Transporter

Teradata® Parallel Transporterリファレンス - 17.20

Product
Parallel Transporter
Release Number
17.20
Published
2022年10月10日
Language
日本語
Last Update
2022-11-21
dita:mapPath
ja-JP/rwr1645128188440.ditamap
dita:ditavalPath
ja-JP/obe1474387269547.ditaval
dita:id
B035-2436
Product Category
Teradata Tools and Utilities






構文規則:

構文要素 説明
ANSIDATE ダッシュ(ハイフン)で区切られた10文字からなる標準形式の日付データ型を指定する任意選択のキーワード。 例えば、2007年10月23日は次のように表わします。

2007-10-23

BIGINT 8バイト2進整数の数値データ型を指定する任意選択のキーワード。
BLOB(lengthBytes)

CLOB(lengthBytes)

インラインLOB(ラージ オブジェクト)列を指定する任意選択のキーワード。インラインLOB列のデータは、LOB以外の列のデータと同様に、スキーマで定義されているデータ行に保存されます。

インラインLOBのデータ型は、BLOB (バイナリ ラージ オブジェクト)またはCLOB (キャラクタ ラージ オブジェクト)のいずれかです。

lengthBytesには、データ行でインラインLOB列の値に格納できるデータの最大バイト数を指定します。VARCHAR列と同様に、lengthBytesより小さいサイズのデータをデータ行に格納できます。Teradata PTでサポートされているインラインLOBの最大サイズは、z/OS以外のプラットフォームでは2,097,088,000バイトです。Teradata PTでサポートされているインラインLOBの最大サイズは、z/OSプラットフォームでは64,000バイトです。

DataConnectorオペレータは、外部ファイルからLOBデータを読み込むか、外部ファイルにLOBデータを書き込みます。SQL Selectorオペレータは、データベースからLOBデータを抽出し、データ ストリームに入れます。SQL Inserterオペレータ、Streamオペレータ、およびUpdateオペレータは、データ ストリームからデータを読み取りデータベースにロードできます。

インラインLOBが単一のリクエスト メッセージに収まらない場合、Teradata PTは遅延モードのインラインLOBをプロデューサからコンシューマに転送することがあります。ユーザーは何も指定する必要はありません。必要に応じてTPTが自動的に転送を実行します。この機能は、z/OS以外のプラットフォームでのみ有効です。

データ行がDataConnectorオペレータによって読み込まれたファイルからのものである場合は、インラインLOBデータの前に8バイトの標識が付加されます。他のオペレータ(エクスポートとロード)は、LOBデータを処理できません。
BLOB(lengthBytes) AS DEFERRED BY NAME

CLOB(lengthBytes) AS DEFERRED BY NAME

Teradata PTのスキーマで定義されているデータ行内ではなく、ファイルにデータが含まれている遅延LOB(ラージ オブジェクト)列を指定する任意選択のキーワード。

遅延LOBは、BLOBまたはCLOBのどちらかのデータ型です。

lengthBytesには、データベースでLOB列の値に格納できるデータの最大バイト数を指定します。つまり、データ行に名前が保管されるファイルの最大サイズです。遅延LOBのlengthBytesのlengthBytesの最大値は次のようになります。

2,097,088,000.

遅延LOBデータを含むファイルの名前は、VARCHAR列の値と同様に、2バイト長の接頭辞付きでデータ行に格納されます。 行の値は、完全修飾パスの名前か、Teradata PTが実行元のディレクトリから検索するファイルの名前です。

Teradata PT LOBファイル識別子を指定するAS DEFERRED BY NAMEオプションは、LOBデータが遅延され、非LOBデータとは別にデータベースに送信されることを示します。

AS DEFERRED BY NAMEオプションが指定されている場合、LOBデータ自体ではなくLOBファイル識別子がデータ ストリーム内に必要であることを示します。

BLOBまたはCLOB列定義でAS DEFERRED BY NAMEが指定されていない場合、Teradata PTは、非LOBデータと同様に、BLOBまたはCLOBデータをデータ行に格納してデータベースに送信します。

SQL SelectorオペレータはデータベースからLOBデータを抽出できる唯一のProducerオペレータです。SQL Inserterオペレータ、Updateオペレータ、Streamオペレータは、遅延LOBをデータベースにロードできる唯一のConsumerオペレータです。他のオペレータ(エクスポートとロード)は、LOBデータを処理できません。

遅延LOBはz/OSプラットフォームではサポートされていません。
BYTE

BYTE (lengthBytes)

バイナリ データを格納する固定長の列を指定する任意選択のキーワード。

lengthBytesには、列の長さをバイト単位で指定します。

有効な最大長は64,000バイトです。指定されていない場合、デフォルトの長さは1バイトです。

BYTEINT 1バイトの整数(-128~+127の範囲の整数)を指定する任意選択のキーワード。
CHAR

CHARS

CHARACTER

CHARACTERS

CHAR (lengthBytes)

CHARS(lengthBytes)

CHARACTER(lengthBytes)

CHARACTERS(lengthBytes)

文字データを格納する固定長の列を指定する任意選択のキーワード。

lengthBytesには、列の長さをバイト単位で指定します。有効な最大長は64,000です。指定されていない場合、デフォルトの長さは1です。

CHAR VARYING

CHARS VARYING

CHARACTER VARYING

CHARACTERS VARYING

CHAR VARYING(lengthBytes)

CHARS VARYING(lengthBytes)

CHARACTER VARYING(lengthBytes)

CHARACTERS VARYING(lengthBytes)

文字データを格納する可変長の列を指定する任意選択のキーワード。

lengthBytesには、列の長さをバイト単位で指定します。有効な最大長は64,000です。指定されていない場合、デフォルトの長さは1です。

VARCHARの説明を参照してください。

columnName スキーマによって記述されるデータ ソースまたはデータ ターゲット内の列の、必須のユーザー提供の名前。 指定された各列名は、スキーマの中で固有でなければなりません。
DECIMAL、DEC、またはNUMERIC
  • (lengthDigits)
  • (lengthDigits, precision)
10進数の数値データ型を定義する任意選択のキーワード。 このデータ型は、データ列の桁数と小数点以下の精度も定義します。
  • lengthDigitsは合計桁数です。 lengthDigitsは1~38の範囲で指定できます。 デフォルトは5です。

    precisionを指定する場合は、lengthDigitsを指定する必要があります。

  • precisionは小数点以下の桁数です。 precision指定の範囲は、0からlengthDigits指定の値までです。 precisionのデフォルトは0です。

lengthDigitsとprecisionの値が指定されていない場合は、デフォルト値が使用されます。

ジョブが次の3つのルールに従っている場合に限り、DECIMALデータの不一致が許容されます。
  1. ソースの桁数は、スキーマ内の桁数より小さくなければなりません。
  2. ソースとスキーマのストレージ サイズは同じである必要があります。
  3. 精度の値は一致する必要があります。

    データベースではDECIMALデータをスケーリングされた整数として格納するため、精度が異なると、正しくない値がデータベースに格納されます。

DEFINE SCHEMA スキーマ定義の開始を指定する必須のキーワード句。
DELIMITED Teradata PTが、Teradata PTスキーマの区切りデータからなるファイル形式バージョンを生成することを示すキーワード。 このキーワードのベースとなるテーブル名は、次のいずれかの方法で指定します。
  • 引用符で囲まれた文字列tableName
  • sqlSelectStatementの内部
  • スクリプトで定義されたオペレータのselectStmt属性
DESCRIPTION 'descriptionString' 定義済みスキーマについての説明を示す任意選択のキーワード句。
FLOAT 浮動小数点データ型を定義する任意選択のキーワード。
FROM SELECT SQL SELECT文の結果テーブル内の列に基づいて、TPTがスキーマを生成することを示すキーワード句。このSQL SELECT文は、オペレータのoperatorNameのSelectStmt属性によって明示的または間接的に指定されます。
FROM TABLE 引用符で囲まれた文字列tableNameで特定されるテーブルの列に基づいて、Teradata PTがスキーマを生成することを示すキーワード句。
GRAPHIC

GRAPHIC(lengthChars)

2バイトのグラフィック文字を格納する固定長の列を指定する任意選択のキーワード。

lengthCharsには、列の長さを2バイトのグラフィック文字単位で指定します。 有効な最大長は32,000文字です。 指定されていない場合、デフォルトの長さは1文字です。

GRAPHIC列のバイト長はlengthCharsの値の2倍です。

INTDATE 次の式で計算される、4バイトの2進整数で表わされるデータ値を格納する列を指定する任意選択のキーワード。

intdate値 = (年 - 1900) * 10000 + 月 * 100 + 日

例えば、2007年10月23日に対応するINTDATE列の値は1071023です。

INTEGER

INT

4バイト整数のデータ型を指定する任意選択のキーワード。
INTERVAL DAY

INTERVAL DAY(lengthDigits)

時間間隔列を日単位で指定する任意選択のキーワード。lengthDigitsは、間隔を表わすために使用される桁数(右詰め)です。 有効な値は1~4です。 デフォルト値は2です。
データベースの外部では、INTERVAL列の値は、さまざまな長さおよび形式の文字列で表わされます。ただし、現時点では、Teradata PTはこれらの有効なINTERVALの長さおよび形式を認識できず、通常はINTERVAL列の値を文字列と区別できません。ジョブ スクリプトにはINTERVAL列の値を表わすための文字列を含めることができますが、Teradata PTはその妥当性を検証できません。INTERVAL列のリテラル文字列の形式が適切である場合は、「等号」(=)または「不等号」(<>)のいずれかの比較演算子を使用して、リテラル文字列とそれに対応するデータ行内のINTERVAL列の値の型を正確に比較できます。INTERVAL列の値の型の表わす文字列の有効な長さおよび形式の詳細については、<Teradata Vantage™ - データ タイプおよびリテラル, B035-1143>を参照してください。
INTERVAL DAY TO HOUR

INTERVAL DAY(lengthDigits) TO HOUR

時間間隔列を名前付き列の日単位および時間単位で指定する任意選択のキーワード。lengthDigitsは、間隔(日単位)を定義するために使用される桁数(右詰め)です。

有効値は1~4で、デフォルト値は2です。

INTERVAL DAYの注記を参照してください。

INTERVAL DAY TO MINUTE

INTERVAL DAY(lengthDigits) TO MINUTE

時間間隔列を名前付き列の日単位、時間単位、および分単位で指定する任意選択のキーワード。lengthDigitsは、間隔(日単位)を表わすために使用される桁数(右詰め)です。

有効値は1~4で、デフォルト値は2です。

INTERVAL DAYの注記を参照してください。

INTERVAL DAY TO SECOND

INTERVAL DAY(lengthDigits) TO SECOND

INTERVAL DAY TO SECOND(precision)

INTERVAL DAY(lengthDigits) TO SECOND(precision)

時間間隔列を日単位、時間単位、分単位、および秒単位で指定する任意選択のキーワードで、以下のように指定します。
  • lengthDigitsは、間隔(日単位)を定義するために使用される桁数(右詰め)です。 有効な値は1~4です。 デフォルト値は2です。
  • precisionは、小数点以下の桁数で、秒の小数部を定義するために使用されます。 有効な値は1~6です。 デフォルト値は6です。

INTERVAL DAYの注記を参照してください。

INTERVAL HOUR

INTERVAL HOUR(lengthDigits)

時間間隔列を時間単位で指定する任意選択のキーワード。lengthDigitsは、間隔(時間単位)を表わすために使用される桁数(右詰め)です。

有効値は1~4で、デフォルト値は2です。

INTERVAL DAYの注記を参照してください。

INTERVAL HOUR TO MINUTE

INTERVAL HOUR(lengthDigits) TO MINUTE

時間間隔列を時間単位および分単位で指定する任意選択のキーワード。lengthDigitsは、間隔(時間単位)を表わすために使用される桁数(右詰め)です。

有効値は1~4で、デフォルト値は2です。

INTERVAL DAYの注記を参照してください。

INTERVAL HOUR TO SECOND

INTERVAL HOUR(lengthDigits) TO SECOND

INTERVAL HOUR TO SECOND(precision)

INTERVAL HOUR(lengthDigits) TO SECOND (precision)

時間間隔列を時間単位、分単位、および秒単位で指定する任意選択のキーワード。
  • lengthDigitsは、間隔(時間単位)を定義するために使用される桁数(右詰め)です。 有効な値は1~4です。 デフォルト値は2です。
  • precisionは、精度(小数点以下の桁数)で、秒の小数部を定義するために使用されます。 有効な値は1~6です。 デフォルト値は6です。

INTERVAL DAYの注記を参照してください。

INTERVAL MINUTE

INTERVAL MINUTE(lengthDigits)

時間間隔列を分単位で指定する任意選択のキーワード。lengthDigitsは、間隔(分単位)を表わすために使用される桁数(右詰め)です。

有効値は1~4で、デフォルト値は2です。

INTERVAL DAYの注記を参照してください。

INTERVAL MINUTE TO SECOND

INTERVAL MINUTE(lengthDigits) TO SECOND (precision)

INTERVAL MINUTE(lengthDigits) TO SECOND

INTERVAL MINUTE TO SECOND(precision)

時間間隔列を分単位および秒単位で指定する任意選択のキーワード。
  • lengthDigitsは、間隔(分単位)を定義するために使用される桁数(右詰め)です。 有効な値は1~4です。 デフォルト値は2です。
  • precisionは、精度(小数点以下の桁数)で、秒の小数部を定義するために使用されます。 有効な値は1~6です。 デフォルト値は6です。

INTERVAL DAYの注記を参照してください。

INTERVAL SECOND,

INTERVAL SECOND(lengthDigits)

INTERVAL SECOND(lengthDigits, precision)

時間間隔列を秒単位で(オプションで最も近い小数秒まで)指定する任意選択のキーワード。
  • lengthDigitsは、間隔(秒単位)を定義するために使用される桁数(右詰め)です。 有効な値は1~4です。 デフォルト値は2です。
  • precisionは、精度(小数点以下の桁数)で、秒の小数部を定義するために使用されます。 有効な値は1~6です。 デフォルト値は6です。

INTERVAL DAYの注記を参照してください。

INTERVAL MONTH

INTERVAL MONTH(lengthDigits)

時間間隔列を月単位で指定する任意選択のキーワード。lengthDigitsは、月数を表わすために使用される桁数(右詰め)です。

有効値は1~4で、デフォルト値は2です。

INTERVAL DAYの注記を参照してください。

INTERVAL YEAR

INTERVAL YEAR(lengthDigits)

時間間隔列を年単位で指定する任意選択のキーワード。lengthDigitsは、年数を表わすために使用される桁数(右詰め)です。

有効値は1~4で、デフォルト値は2です。

INTERVAL DAYの注記を参照してください。

INTERVAL YEAR TO MONTH

INTERVAL YEAR(lengthDigits) TO MONTH

時間間隔列を年単位および月単位で指定する任意選択のキーワード。lengthDigitsは、年数を表わすために使用される桁数(右詰め)です。

有効値は1~4で、デフォルト値は2です。

INTERVAL DAYの注記を参照してください。

JSON(lengthBytes)

JSON(lengthBytes) AS DEFERRED BY NAME

インラインJavaScript Object Notation(JSON)列を指定する任意選択のキーワード。インラインJSON列のデータは、JSON列以外のデータと同様に、スキーマで定義されているデータ行に格納されます。

lengthBytesには、データ行でインラインJSON列に格納できるデータの最大バイト数を指定します。VARCHAR列と同様に、lengthBytesより小さいサイズのデータをデータ行に格納できます。Teradata PTでサポートされているインラインJSON列の最大サイズは、z/OS以外のプラットフォームでは16,776,192バイトです。Teradata PTでサポートされているインラインJSON列の最大サイズは、z/OSプラットフォームでは64,000バイトです。

DataConnectorオペレータは、外部ファイルからのJSONデータの読み込み、および外部ファイルへのJSONデータの書き込みを行ないます。SQL Selectorオペレータは、データベースからJSONデータを抽出し、データ ストリームに入れます。SQL Inserterオペレータ、Updateオペレータ、およびStreamオペレータは、データ ストリームからデータを読み取りデータベースにロードします。

インラインJSON列が単一のリクエスト メッセージに収まらない場合、Teradata PTは遅延モードのインラインJSON列をプロデューサからコンシューマに転送することがあります。ユーザーは何も指定する必要はありません。必要に応じてTPTが自動的に転送を実行します。この機能は、z/OS以外のプラットフォームでのみ有効です。

データ行がDataConnectorオペレータによって読み込まれたファイルからのものである場合は、インラインJSONデータの前に8バイトの標識が付加されます。

他のオペレータ(ExportとLoad)は、JSONデータを処理できません。

AS DEFERRED BY NAME

遅延JSON列を指定するオプション キーワード。この列のデータは、Teradata PTスキーマで定義されたデータ行ではなく、ファイルに格納されます。

lengthBytesには、データベースでJSON列に含めることができるデータの最大バイト数を指定します。つまり、データ行に名前が保管されるファイルの最大サイズです。遅延JSONファイルのlengthBytesの最大値は

16,776,192バイトです。

AS DEFERRED BY NAMEオプションが指定されている場合、JSONデータ自体ではなくJSONファイル識別子がデータ ストリームで提供されることが想定されていることを表わしています。遅延JSONデータが入っているファイルの名前は、VARCHAR列の値と同様に、2バイト長の接頭辞付きでデータ行に格納されます。その行の値は、完全修飾パス名、またはTeradata PTが実行元のディレクトリで見つけるファイル名です。
  • Teradata PT JSONファイル識別子を指定するAS DEFERRED BY NAMEオプションは、JSONデータが遅延され、非JSONデータとは別にデータベースに送信されることを示します。
  • JSON列定義でAS DEFERRED BY NAMEを省略すると、データベースにJSONデータを非JSONデータと同様に送信するようにTeradata PTに指示できます。

SQL Selectorオペレータは、データベースからJSONデータを抽出できる唯一のProducerオペレータです。 SQL Inserterオペレータは、データベースに遅延JSONファイルをロードできる唯一の Consumerオペレータです。 その他のオペレータ(Export、Load、Update、およびStream)はJSONデータを処理できません。

遅延JSONはz/OSプラットフォームではサポートされていません。
lengthBytes 非数値データ型の長さ指定。

可変長データ型の場合は、lengthBytesを指定する必要があります。

UTF16でエンコードされたCHAR列またはVARCHAR列に対してlengthBytesを指定した場合、この指定は、列の値によって占有されるバイト数を表わします。その値は、テーブルのスキーマと同等の列記述内でlengthに指定する文字カウントの2倍になります。
lengthChars GRAPHIC列またはVARGRAPHIC列の長さを2バイトのグラフィック文字単位で指定する任意選択のキーワード。

これらの値のバイト長はlengthCharsの値の2倍です。

MACROCHARSET 文字フィールドに対するデータベース サーバーの文字セット名を定義する任意選択の句。

MACROCHARSETは、Streamオペレータのマクロ作成時に、文字データ型の各フィールドにCHARACTER SET <ServerCharsetName>句を生成するために使用されます。

文字型のフィールドにMACROCHARSET句がない場合は、以下のいずれかがデフォルトになります。
  • マクロ作成時にCHARACTER SET句が生成されない。この場合、以下のいずれかがクライアント セッション文字セットになります。
    • ASCII
    • EBCDIC
    • EBCDIC037_0E
    • EBCDIC277_0E
    • EBCDIC273_0E
    • LATIN1_0A
    • LATIN9_0A
    • LATIN1252_0A
    • LATIN1252_3A0
    • 単純な(1バイト)サイト定義のクライアント文字セット。名前は、_0Aまたは_0Eで終わります。
  • このリストに記載されていない他のすべてのクライアント セッション文字セットに対して、マクロ作成時に生成されるCHARACTER SET UNICODE句。
MACROCHARSET句は、以下にのみ適用されます。
  • 文字フィールド。MACROCHARSETが文字タイプ フィールド以外に指定された場合、エラーが返されます。
  • Teradata PT Streamオペレータ。 MACROCHARSET句は、他のオペレータで無視されます。
macroCharSetIdentifier サーバー記憶装置の文字セット名を指定する任意選択の識別子。この文字セット名はStreamオペレータで使用され、Streamオペレータがデータのロードに必要なマクロを作成するときに、文字の列ごとにCHARACTER SET句が生成されます。
指定できる値は次の5つです。
  • LATIN
  • UNICODE
  • KANJI1
  • KANJISJIS
  • GRAPHIC

この識別子に指定される値は、スキーマがStreamオペレータのインスタンスで使用される場合にのみDEFINE SCHEMA文で必要になります。

METADATA (metadataType) このスキーマ列の値がソース データに含まれず、オペレータ自体から直接提供されるメタデータであることを指定する任意選択のキーワード。この機能は、データがロードされた後にデータの元の場所を識別することに役立ち、データベースでロードできない無効なソース レコードを見つけることにも役立ちます。
"metadataType"には次の値を使用できます。
  • 'FileName': 現在のファイル名がソース データに追加されます。CHARデータ型またはVARCHARデータ型として定義する必要があり、この列のサイズは、検出された最も長いファイル名を保持できる十分な大きさでなければなりません。
  • 'FileRecordNumber': ファイルのレコード番号が、処理された各レコードのソース データに追加されます。INTEGERデータ型またはBIGINTデータ型として定義する必要があります。ターゲット テーブルの列は、検出された最大レコード番号を処理できる十分な大きさでなければなりません。INTEGERに使用できる最大値は次のとおりです。

    2,147,483,647.

    レコード番号がこの最大値を超えた場合は、代わりに0が格納されます。

"metadataType"ごとにエントリが1つのみ許可されます。ただし、METADATA列はスキーマ内の任意の場所に指定できます。この機能は、$FILE_READERオペレータとともに使用する場合にのみ有効です。すべてのDataConnector形式の種類がサポートされています。

DEFINE SCHEMA文の例の例6と例7を参照してください。

NUMBER

NUMBER(*)

NUMBER(*,scale)

NUMBER(precision)

NUMBER(precision,scale)

最大38桁で精度(オプションで次の範囲の任意指定の指数を使用して最大スケールの精度桁数)を表わす列を指定する任意選択のキーワード:
  • スケールがゼロの場合、E-130~E+125。
  • スケールが0よりも大きい場合、E-スケール~E+(125-スケール)。
    TPTスキーマ オブジェクトでNUMBERとして定義された列は、述部や式がNUMBER列参照のみで構成されているのでない限り、TPT APPLY文の論理述部または数値式から参照することができません。 NUMBER列に関係する述部または式の参照、およびNUMBER以外の列の参照は、サポートされていません。
PERIOD(DATE) 先頭および末尾のデータ値から構成される期間を表わす値を格納する列を指定する任意選択のキーワード。

PERIOD列の値は、データベースとTeradata PTの内部でコーディングされています。 ジョブ スクリプトで、PERIOD列型の値を文字列で表わすことはできません。また、同じPERIOD型の2つの列を論理述部で比較することもできません。

PERIOD列の型の値における内部構造の詳細およびBTEQから取得された場合にどのように表現されるかの詳細については、<Teradata Vantage™ - データ タイプおよびリテラル, B035-1143>を参照してください。

PERIOD(TIME)

PERIOD(TIME(precision))

先頭および末尾の時刻値から構成される期間を表わす値を格納する列を指定する任意選択のキーワード。

precisionには秒の小数部の桁数を指定します。(有効値: 0~6)デフォルト値は6です。

PERIOD(DATE)の注記を参照してください。

PERIOD (TIME WITH TIME ZONE)

PERIOD(TIME(precision)WITH TIME ZONE)

先頭および末尾のタイム ゾーン付き時刻値から構成される期間を表わす値を格納する列を指定する任意選択のキーワード。

precisionには秒の小数部の桁数を指定します。(有効値: 0~6)デフォルト値は6です。

PERIOD(DATE)の注記を参照してください。

PERIOD(TIMESTAMP)

PERIOD(TIMESTAMP(precision))

先頭および末尾のタイムスタンプ値から構成される期間を表わす値を格納する列を指定する任意選択のキーワード。

precisionには秒の小数部の桁数を指定します。(有効値: 0~6)デフォルト値は6です。

PERIOD(DATE)の注記を参照してください。

PERIOD(TIMESTAMP WITH TIME ZONE)

PERIOD(TIMESTAMP(precision) WITH TIME ZONE)

先頭および末尾のタイム ゾーン付きタイムスタンプ値から構成される期間を表わす値を格納する列を指定する任意選択のキーワード。

precisionには秒の小数部の桁数を指定します。(有効値: 0~6)デフォルト値は6です。

PERIOD(DATE)の注記を参照してください。

lengthDigits 10進数を格納するデータ型の任意選択の長さ値(桁数)。

lengthDigitsの範囲およびデフォルト値は、適用対象のデータ型によって異なります。 詳細については、このテーブルの個々のデータ型に関する説明を参照してください。

OF OPERATOR スクリプトで定義されたoperatorNameのSelectStmt属性に割り当てられたSQL SELECT文に基づいて、Teradata PTがスキーマを生成することを示すキーワード句。
operatorName DEFINE OPERATOR文で定義されるオペレータの名前。この名前のSQL SELECT文が、Teradata PTの生成するスキーマの基になります。

スクリプトにオペレータが定義されていない場合、operatorNameは、APPLY-SELECT文で指定されたオペレータ テンプレートの名前になります。

precision 小数点以下の桁数を定義する任意選択の値。

precisionの範囲およびデフォルト値は、適用対象のデータ型によって異なります。 詳細については、このテーブルの個々のデータ型に関する説明を参照してください。

schemaObjectName 定義済みスキーマ オブジェクトの必須の内部メタデータ名。
SMALLINT 2バイト整数の数値データ型を指定する任意選択のキーワード。
sqlSelectStatement SQL SELECT文。このステートメントの結果テーブルの列が、Teradata PTの生成するスキーマの基になります。
tableName データベース テーブルの名前。この名前の列定義は、Teradata PTで以下を生成する基底として使用されます。
  • DEFINE SCHEMA文。ジョブ スクリプトで、DEFINE SCHEMA文の短縮バージョンを置き換えます。
  • SQL INSERT文。ジョブ スクリプトで、直前のスクリプト マクロ$INSERTを置き換えます。
TIME

TIME(precision)

時刻値を格納する列を指定する任意選択のキーワード。

precisionは小数点以下の桁数(秒の小数部)を表わします。 precisionの有効な値は0~6です。 デフォルト値は6です。

4つの時間指向の列型(TIME、TIME WITH TIME ZONE、TIMESTAMP、およびTIMESTAMP WITH TIME ZONE)では、小数秒のデフォルト精度はゼロではなく6です。 したがって、TIMEおよびTIME(6)は同じ列を表わします。また、時刻値に小数秒が含まれない場合は、TIME(0)を指定する必要があります。

これらの4つの時間指向列の値は、データベースの外部の値で、明確に定義された長さおよび形式の文字列によって表わされます。 ただし、Teradata PTは、これらの長さおよび形式を認識できず、これらの時間指向列の値を表わすジョブ スクリプト文字列の正当性を確認できません。

スクリプトのリテラル文字列がこれらのいずれかの列型の有効な値表現である場合、すべての比較演算子は、その値と同じ時間指向型の列の行の値を正確に比較します。 同様に、すべての比較演算子は、同じ型の2つの列の行の値を正確に比較します。

TIME WITH TIME ZONE

TIME(precision) WITH TIME ZONE

タイム ゾーン オフセットを含む時刻値を格納する列を指定する任意選択のキーワード。

precisionは小数点以下の桁数(秒の小数部)を表わします。 precisionの有効な値は0~6です。 デフォルト値は6です。

TIMEの注記を参照してください。

USINGEXTENSION (‘usingExtension’) このスキーマ列のUSING句拡張機能を指定する任意選択のキーワード。

データ ローディングの場合、オペレータはスキーマに基づいてUSING句を生成します。オペレータはUSING句をデータベースに送信します。USING句は、データ行のレイアウトを識別します。

オペレータは、USING句を生成するときにUsingExtension値を列に追加します。オペレータはUsingExtension値を検証しません。UsingExtension値は、データベースによって検証されます。

ジョブが拡張MultiLoadプロトコルを使用している場合、USINGEXTENSIONオプションはTeradata PT Updateオペレータにのみ適用されます。

ジョブが従来のMultiLoadプロトコルを使用している場合、USINGEXTENSIONオプションは無視されます。また、USINGEXTENSIONオプションは他のTeradata PTオペレータでは無視されます。

USINGEXTENSIONオプションは、Teradata PT Updateオペレータを使って、一時テーブルにデータをロードするのに使用できます。

USINGEXTENSIONオプションの使用方法の詳細については、テンポラル テーブルを参照してください。

VARBYTE

VARBYTE(lengthBytes)

バイナリ データを格納する可変長の列を指定する任意選択のキーワード。

lengthBytesには、列の最大長をバイト単位で指定します。

指定されていない場合、デフォルトの列の長さは有効な最大長である64,000バイトです。

DEFINE SCHEMA定義で定められている長さ以下であるVARCHARデータとVARBYTEデータが指定可能です。

VARCHAR

VARCHAR(lengthBytes)

文字データを格納する可変長の列を指定する任意選択のキーワード。

lengthBytesには、列の最大長をバイト単位で指定します。

指定されていない場合、デフォルトの列の長さは有効な最大長である64,000バイトです。
VARDATE(lengthBytes)

FORMATIN(formatString)

FORMATOUT(formatString)

DateTime列にロードされる前にデータが形式変更される可変長文字ベースの列を指定する任意選択のキーワード。

FORMATIN文字列は、入力のDateTimeデータの形式と一致します。

FORMATOUT文字列は、データのロード先のDateTime列で受け入れられる形式と一致します。

lengthBytesは、最長の形式文字列のサイズ以上にする必要があります。

VARDATE列のデータ型を使用したDateTimeデータの形式変更の詳細と例については、<Teradata® Parallel Transporterユーザー ガイド, B035-2445>の「VARDATE列によるDateTimeデータの形式変更」を参照してください。

VARGRAPHIC

VARGRAPHIC(lengthBytes)

2バイトのグラフィック文字を格納する可変長の列を指定する任意選択のキーワード。

lengthBytesには、列の長さを2バイトのグラフィック文字単位で指定します。

指定されていない場合、デフォルトの長さは有効な最大長である32,000文字です。

VARGRAPHIC列のバイト長はlengthCharsの値の2倍です。

XML

XML AS DEFERRED BY NAME

インラインXML列を指定する任意選択のキーワード。インラインXML列のデータは、XML列以外のデータと同様に、スキーマで定義されているデータ行に格納されます。

Teradata PTのデフォルトでは、z/OS以外のプラットフォームでのインラインXML列のサイズは2,097,088,000バイトです。

Teradata PTのデフォルトでは、z/OSプラットフォームでのインラインXML列のサイズは64,000バイトです。

DataConnectorオペレータは、外部ファイルからXMLデータを読み込むか、外部ファイルにLOBデータを書き込みます。SQL Selectorオペレータは、データベースからXMLデータを抽出し、データ ストリームに入れます。SQL Inserterオペレータ、Updateオペレータ、およびStreamオペレータは、データ ストリームからデータを読み取りデータベースにロードします。

インラインXML列が単一のリクエスト メッセージに収まらない場合、Teradata PTは遅延モードのインラインXML列をプロデューサからコンシューマに転送することがあります。ユーザーは何も指定する必要はありません。必要に応じてTPTが自動的に転送を実行します。この機能は、z/OS以外のプラットフォームでのみ有効です。

データ行がDataConnectorオペレータによって読み込まれたファイルからのものである場合は、インラインXMLデータの前に8バイトの標識が付加されます。他のオペレータ(ExportとLoad)は、XMLデータを処理できません。

AS DEFERRED BY NAME

遅延XML列を指定するオプション。この列のデータは、Teradata PTスキーマで定義されたデータ行ではなく、ファイルに格納されます。

Teradata PTは、遅延XML列のデフォルト サイズを2,097,088,000バイトに設定します。

Teradata PT XMLファイル識別子を指定するAS DEFERRED BY NAMEオプションは、XMLデータが遅延され、非XMLデータとは別にデータベースに送信されることを示します。

遅延XMLデータを含むファイルの名前は、VARCHAR列の値と同様に、2バイト長の接頭辞付きでデータ行に格納されます。 行の値は、完全修飾パスの名前か、Teradata PTが実行元のディレクトリから検索するファイルの名前です。
  • AS DEFERRED BY NAMEオプションが指定されている場合、XMLデータ自体ではなくXMLファイル識別子がデータ ストリーム内に必要であることを示します。
  • XML列定義でAS DEFERRED BY NAMEを省略すると、データベースにXMLデータを非XMLデータと同様に送信するようにTeradata PTに指示できます

SQL Selectorオペレータは、データベースからXMLデータを抽出できる唯一のProducerオペレータです。SQL Inserterオペレータ、Updateオペレータ、およびStreamオペレータは、データ ストリームからXMLデータを読み取りデータベースにロードできます。他のオペレータ(ExportとLoad)は、XMLデータを処理できません。

  • Teradata PTでは、WHERE句で指定される述部評価、またはSQLリクエストのCASE式のどのタイプにおいても、XML列を使用することはできません。
  • 遅延XMLはz/OSプラットフォームではサポートされていません。