目的
この制御によって、ユーザーは、Teradata SQLリクエストおよびBTEQコマンドのコピーを標準出力ストリームに送るかどうかを指定できます。
構文
使用上の注意
ECHOREQコマンドを一連のBTEQコマンドまたはリクエストの前に使用し、ECHOREQコマンドに続く各コマンドまたはリクエストのコピーが返される(エコー表示される)かどうかを指定します。 (LOGONコマンドのパスワード部分については、エコー表示されません。)
| 処理 | 結果 |
|---|---|
| ECHOREQコマンドが指定されていない | デフォルトの初期値はONです。すべてのSQLリクエストおよびBTEQコマンドがエコー表示されます。 |
| ECHOREQが使用されていて、ON、ERRORONLY、またはOFFが指定されていない | BTEQではONが使用されます。 |
| ECHOREQ ERRORONLYが指定されている | SQLはエコー表示されませんが、BTEQコマンドはすべてエコー表示されます。つまり、BTEQコマンドの場合はECHOREQ ONに等しくなります。SQLがDBSの失敗またはエラーになった場合、リクエスト テキストは失敗またはエラー メッセージの一部として標準エラー ストリームに出力されます。 ERRORONLYの場合にONとして処理されるBTEQコマンドの動作は、後のリリースで変更されることがあります。変更後のリリースでは、BTEQコマンドは失敗したSQLリクエストと同じように動作します。つまり、BTEQコマンドはエコーされませんが、失敗した場合は出力されます。
|
| ECHOREQ OFFが指定されている | SQLまたはBTEQコマンドはエコー表示されません。 |
ECHOREQコマンドは、Teradata SQLのECHO文とは関係ありません。
ECHOREQコマンドはTeradata SQLマクロでは使用ロックします。
ERRORONLYが有効な場合に、REPEAT係数を1より大きい値に設定してSQLリクエストを発行すると、複数のエラー応答が発生し、最初のエラーが最初の応答シーケンスに対応しなくなることがあります。 REPEATの実行中は、リクエスト テキスト エコーのインスタンスが1つのみ実行されます。
例 – ECHOREQ
入力のエコーを抑制するには、次のコマンドを入力します。
.SET ECHOREQ OFF
SQLリクエストのエコーを抑制するが、DBSエラーまたは障害が戻されたときには出力されるようにするには、次のように入力します。
.SET ECHOREQ ERRORONLY
次に例を示します。
対話モード
BTEQ -- Enter your SQL request or BTEQ command:
.SET ECHOREQ ERRORONLY
.SET ECHOREQ ERRORONLY
BTEQ -- Enter your SQL request or BTEQ command:
.SHOW CONTROLS ECHOREQ
.SHOW CONTROLS ECHOREQ
[SET] ECHOREQ = ERRORONLY
BTEQ -- Enter your SQL request or BTEQ command:
SELECT date;
*** Query completed. One row found. One column returned.
*** Total elapsed time was 1 second.
Date
--------
12/02/21
BTEQ -- Enter your SQL request or BTEQ command:
SELECT junk;
*** Failure 3822 Cannot resolve column 'junk'. Specify table or view.
Statement# 1, Info =0
*** Request Text:
SELECT junk;
*** Total elapsed time was 1 second.
BTEQ -- Enter your SQL request or BTEQ command:
バッチ モード
+---------+---------+---------+---------+---------+---------+---------+
.SET ECHOREQ ERRORONLY
+---------+---------+---------+---------+---------+---------+---------+
.SHOW CONTROLS ECHOREQ
[SET] ECHOREQ = ERRORONLY
+---------+---------+---------+---------+---------+---------+---------+
*** Query completed. One row found. One column returned.
*** Total elapsed time was 1 second.
Date
--------
12/02/21
+---------+---------+---------+---------+---------+---------+---------+
*** Failure 3822 Cannot resolve column 'junk'. Specify table or view.
Statement# 1, Info =0
*** Request Text:
SELECT junk;
*** Total elapsed time was 1 second.
+---------+---------+---------+---------+---------+---------+---------+