ERRORLEVEL - 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の失敗の重大度に基づいた一連のアクションを決定できます。

ERRORLEVELコマンドを使用しない場合、値はデフォルトでONになります。

構文



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

errno
特定のエラー番号
n
割り当てる重大度レベルで、nには0~2147483647の整数を指定できる。エラー コードが重大度の値0にマップされている場合、そのエラーはBTEQで無視される。
ON
OFF
エラー レベルの設定機能を有効または無効にする
UNKNOWN
デフォルトとしてもユーザーによっても定義されていない、BTEQのエラー コードを意味する

使用上の注意

通常、BTEQスクリプトでは、直前のTeradata SQL文の状態を問合わせて、影響を受けた行数やTeradata Databaseから返されるエラー コードなどの情報を入手します。 ERRORLEVELコマンドはTeradata SQLの各エラー コードに重大度レベルを割り当てることにより、スクリプトの機能を拡張することができます。

また、ジョブの完了時にBTEQからオペレーティング システムに返される戻りコードに対しても、ERRORLEVELコマンドを使用して重大度レベルを割り当てることができます。 このようにすれば、システムが割り当てる曖昧なエラー番号を、エラーの重大度をはっきり示すレベルに関係付けて、ユーザーに警告を発することができます。 (このような戻りコードの使い方については、エラー処理を参照してください)。

ERRORLEVELコマンドには、いくつかのエラー項目が含まれます。 各エラー項目は、先頭にUNKNOWNという語、1つのエラー番号、括弧付きのエラー番号テーブルのいずれか、その次にSEVERITYという語、さらにその後に整数値という構成です。 整数値は、リストされたエラー番号とは別の新しいエラー レベル値です。

(UNKNOWNというエラー コードを、定義されていないBTEQエラー コードを一括して示すために使用することができます。)

メインフレームBTEQでエラー レベル設定機能を有効または無効にするには、ERRORLEVELコマンドのONまたはOFFオプションのほかに、BTEQ STEPのJCL PARMでERRORLEVEL環境変数を使用することができます。

例えば、起動時にERRORLEVEL=OFFを設定するには、z/OS PARMでERRORLEVEL環境変数を次のようにコーディングします。

//BTEQ00   EXEC PGM=BTQMAIN,PARM='ENVAR(ERRORLEVEL=OFF)/'

次の例では、いくつかのエラーについてレベルを再定義し、IF...THEN...コマンドを使用して問合わせ結果を調べています。

.SET ERRORLEVEL 2168 SEVERITY 4,
   (2173, 3342, 5262) SEVERITY 8
.SET ERRORLEVEL UNKNOWN SEVERITY 16
...
SELECT * FROM SOMEWHERE;
.IF ERRORLEVEL >= 14 THEN .QUIT 17;
...

EXITコマンドまたはQUITコマンドで引数を明示的に指定しない限り、デフォルトでは、BTEQの実行中に発生した最も高い重大度の値がBTEQの戻りコード値として使用されます。そのため、マップされる重要度の値として2147483647までの値を指定できますが、その重大度の値がBTEQの戻りコードとして使用される可能性がある場合は、使用しているクライアントOSで戻りコード値としてサポートされる最大値を考慮する必要があります。そうしないと、BTEQの戻りコード値が壊れる可能性があります。