目的
この制御によって、ユーザーは、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. +---------+---------+---------+---------+---------+---------+---------+