INDICATORMODE - Basic Teradata Query

Basic Teradata Queryリファレンス

Product
Basic Teradata Query
Release Number
16.20
Published
2018年4月
Language
日本語
Last Update
2019-07-03
dita:mapPath
ja-JP/moy1512703123963.ditamap
dita:ditavalPath
ja-JP/moy1512703123963.ditaval
dita:id
B035-2414
Product Category
Teradata Tools and Utilities

目的

この制御によって、ユーザーは、SQLデータ返却要求への応答としてデータベースからデータ行を返すために標識モードを使用するかどうかを指定できます。データ形式には、NULL値を識別するための識別子ビットのバイトが含まれます。

構文



次のような場合に当てはまります。

INDICDATA
INDICATORMODEの別名
OFF
フィールド モード
ON
標識モード
Teradata Databaseから返されるデータが、INDICATORMODEコマンドによって影響を受けることはありません。 返されるデータの形式が指定されるだけです。

使用上の注意

特に指定しなければ、データはフィールド モードで返され、付随する書式設定に従って書式化されます。 また、すべてのデータが文字形式で返されます。 INDICATORMODEコマンドのオプションをONに設定すると、データは標識モードで返されます。 標識モードでは、BTEQはデータの書式化を行ないません。 代わりに、データを返すSQL文で指定された形式に従って、返された各行が表わされます。

Teradata Databaseから標識モードで返される各データ行は、その行に含まれているデータを表わす標識変数で始まります。 1つの標識変数(1ビット)が1つのデータ項目に対応しており、次に示すように、そのデータ項目の値がNULLかどうかを示しています。

  • 0 - データ項目の値がNULLでないことを示す。
  • 1 - NULL値可能フィールドの場合、データ項目にNULLの値が含まれていることを示す。
    NULL値が許可されていないフィールドにNULLの値が入っていた場合、Teradata Databaseからエラー メッセージが返されます。

Teradata Databaseから返される最初の応答(最初の行)の前に、情報パーセル(DataInfo)が送られてきます。このパーセルには、要求に対する応答として返される列の総数、および各列のデータ型と長さについての情報が含まれています。

.EXPORT INDICDATAを指定すると、自動的に標識モードに設定されます。 また、.EXPORT REPORT、.EXPORT RESET、.SET RECORDMODE OFF、または.SET INDICATORMODE OFFを指定すると、自動的にデフォルトのフィールド モードに設定されます。

INDICATORMODEコマンドを使用しない場合、値はデフォルトでOFFになります。 コマンドは使用されているがONまたはOFFが指定されていない場合、BTEQはINDICATORMODEをONに設定します。

RECORDLENGTHコマンドの設定は、INDICATORMODE設定がONのときにstdoutに表示される16進数のダンプに影響します。RECORDLENGTH=MAX64の場合、16進数のダンプには4桁のオフセットが含まれます。RECORDLENGTH=MAX1MBの場合、BTEQは大きなレコードを処理するために8桁のオフセットを使用します。

INDICATORMODEコマンドは、Teradata SQLマクロで使用できます。

例1 – INDICATORMODE

ネイティブ書式でクライアント システムにデータを返すには、次のコマンドを入力します。

.database workforce;
.set defaults
.set indicatormode on
select empno
,proj_id from charges
where empno = 10004
order by proj_id
;
.indicatormode off
= 1
.defaults
.format off
.logoff
.exit

BTEQの応答

*** New default database accepted .
*** Success, Stmt# 1 ActivityCount = 2
*** Query completed. 2 rows found. 2 columns returned.
*** Dump of Parcel DATAINFO: 
00000000 0002 01F4 0002 01C4 0008                 * ...4...D..*
*** Record#1 . Dump Of Data:
00000000 0027 14C5 D5C7 60F0 F0F0 F2              * ...ENG-0002*
*** Record#2 . Dump Of Data: 
00000000 0027 14C5 D5C7 60F0 F0F0 F3              * ...ENG-0003*

*** Query completed. 2 rows found. 2 columns returned.
empno     proj_id
--------  --------
10004     ENG-0002
10004     ENG-0003

例2 – マクロによって出力されるINDICATORMODE

Teradata SQLマクロでは、使用例1のコマンドは次のようになります。

ECHO '.SET INDICATORMODE ON';

例3 – INDICATORMODE

INDICATORMODEコマンド オプションをONに設定した後、フィールド モードでデータを返すためには、次のように入力します。

.SET INDICATORMODE OFF