Teradata-bteq
提供:Dev Guides
Teradata-BTEQ
BTEQユーティリティは、Teradataの強力なユーティリティであり、バッチモードとインタラクティブモードの両方で使用できます。 DDLステートメント、DMLステートメントの実行、マクロおよびストアドプロシージャの作成に使用できます。 BTEQは、フラットファイルからTeradataテーブルにデータをインポートするために使用でき、テーブルからファイルまたはレポートにデータを抽出するためにも使用できます。
BTEQ用語
以下は、BTEQスクリプトで一般的に使用される用語のリストです。
- LOGON -Teradataシステムにログインするために使用されます。
- ACTIVITYCOUNT -前のクエリによって影響を受けた行の数を返します。
- ERRORCODE -前のクエリのステータスコードを返します。
- DATABASE -デフォルトのデータベースを設定します。
- LABEL -一連のSQLコマンドにラベルを割り当てます。
- RUN FILE -ファイルに含まれるクエリを実行します。
- GOTO -コントロールをラベルに転送します。
- LOGOFF -データベースからログオフし、すべてのセッションを終了します。
- IMPORT -入力ファイルのパスを指定します。
- EXPORT -出力ファイルのパスを指定し、エクスポートを開始します。
例
次に、BTEQスクリプトのサンプルを示します。
.LOGON 192.168.1.102/dbc,dbc;
DATABASE tduser;
CREATE TABLE employee_bkup (
EmployeeNo INTEGER,
FirstName CHAR(30),
LastName CHAR(30),
DepartmentNo SMALLINT,
NetPay INTEGER
)
Unique Primary Index(EmployeeNo);
.IF ERRORCODE <> 0 THEN .EXIT ERRORCODE;
SELECT * FROM
Employee
Sample 1;
.IF ACTIVITYCOUNT <> 0 THEN .GOTO InsertEmployee;
DROP TABLE employee_bkup;
.IF ERRORCODE <> 0 THEN .EXIT ERRORCODE;
.LABEL InsertEmployee
INSERT INTO employee_bkup
SELECT a.EmployeeNo,
a.FirstName,
a.LastName,
a.DepartmentNo,
b.NetPay
FROM
Employee a INNER JOIN Salary b
ON (a.EmployeeNo = b.EmployeeNo);
.IF ERRORCODE <> 0 THEN .EXIT ERRORCODE;
.LOGOFF;
上記のスクリプトは、次のタスクを実行します。
- Teradata Systemにログインします。
- デフォルトのデータベースを設定します。
- employee_bkupというテーブルを作成します。
- Employeeテーブルから1つのレコードを選択して、テーブルにレコードがあるかどうかを確認します。
- テーブルが空の場合、employee_bkupテーブルを削除します。
- レコードをemployee_bkupテーブルに挿入するLabel InsertEmployeeにコントロールを転送します
- ERRORCODEをチェックして、各SQLステートメントに続いて、ステートメントが成功したことを確認します。
- ACTIVITYCOUNTは、前のSQLクエリによって選択/影響を受けたレコードの数を返します。