ステータス値のテスト - 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

BTEQは、最近実行依頼されたTeradata SQLリクエストとOSコマンドの結果を反映する複数のステータス値を追跡します。値は関連付けられたキーワードをIF….THEN...コマンドのIF句で構成される条件の一部として使用することによってテストすることができます。これらの値には、EXITやEXITONDELAYなど、他のコマンドの引数としても使用できるものがあります。値は次のとおりです。

キーワード 説明
ACTIVITYCOUNT 直前に送信されたリクエストにより影響を受けた行数を示します。 データを返すリクエストでは、データベースからBTEQに返される行の数になります。 値は、0または正の整数です。 14.00(またはそれ以前)のデータベースに接続した場合、最大値は4,294,967,295です。 14.10以降のデータベースでは、最大値は18,446,744,073,709,551,615に増加します。
ERRORCODE 前回実行依頼されたリクエストに対してデータベースが返したエラー コードを示します。値は0または正の整数です。0はリクエストがエラーなしで完了したことを意味します。設定したERRORCODEの値はREPEATEDリクエストの間に変わる場合があります。最後に繰り返されたリクエストの値のみが使用可能です。
ERRORLEVEL 返される0以外の各ERRORCODE値にマップしたときに、最も高い重大度が発生したことを示します。値は0または正の整数です。 最大値は2147483647です。 前に返されたERRORCODEのすべての値が0の場合、ERRORLEVELも0になります。 送信したリクエストでエラーが発生しなかった場合、ERRORLEVELは、ERRORCODEの場合と同様にゼロにリセットされません。 したがって、最後に送信したリクエストに対してERRORLEVELをテストする必要がある場合には、まず最初にERRORCODEをテストして、リクエストが正常に終了したかどうかを確認します。 ERRORLEVELは、他の値の使用が指定されていない場合は、BTEQのデフォルトEXIT RC値として使用されます。
WARNINGCODE 前回実行依頼されたリクエストに対してデータベースが返した警告コードを示します。値は0または正の整数です。関連付けられたSQLリクエストが成功した場合は、0より大きい値にのみ設定できます。それ以外の場合はERRORCODEが設定されます。固有のDBS警告コードのセットは、固有のDBSエラー コードのセットと重複しません。ERRORONDBSWARNINGコマンドを使用して、DBS警告をDBSエラーとして扱うようにBTEQに指示することができます。ERRORONDBSWARNINGをオンにすると、データベースが0以外の警告コードを返すときにWARNINGCODEとERRORCODEの両方が設定されます。また、ERRORLEVELはコードに関連付けられた重大度レベルの値が既存のERRORLEVELの値よりも大きい場合に変更されます。
SYSTEMRETURNCODE 最後に処理されたOSまたはTSOコマンドに対する戻り値を示します。負の値と正の値の場合があります。0以外の値の解釈はユーザーに依存します。それらの値は、必ずしも実行されたシステム コールが実際に失敗したことを意味するものではありません。キーワードはBTEQのすべてのフレーバーのIFコマンド条件で使用することができます。その値が変更されるときに、BTEQのデフォルトのEXIT RCは変更されません。ただし、キーワードをEXITコマンドの引数として使用することができます。しかし、これはWindows BTEQをDOSとして使用し、PowerShellが負の値の戻りコードをサポートする場合のみです。UNIXシェルおよびz/OS JCLはそれをサポートしていません。