Teradata 简明教程
Teradata - BTEQ
BTEQ 实用工具是 Teradata 中的一个强大实用工具,可以在批处理和交互模式下使用。它可用于运行任何 DDL 语句、DML 语句、创建宏和存储过程。BTEQ 可用于从平面文件导入数据到 Teradata 表,还可用于将数据从表中提取到文件或报告。
BTEQ Terms
以下是 BTEQ 脚本中常用的术语列表。
-
LOGON - 用于登录到 Teradata 系统。
-
ACTIVITYCOUNT - 返回上一个查询影响的行数。
-
ERRORCODE − 返回前一个查询的状态代码。
-
DATABASE − 设置默认数据库。
-
LABEL − 向一组 SQL 命令分配一个标签。
-
RUN FILE − 执行文件中包含的查询。
-
GOTO − 将控制权转移到标签。
-
LOGOFF − 从数据库注销并终止所有会话。
-
IMPORT − 指定输入文件路径。
-
EXPORT − 指定输出文件路径并启动导出。
Example
以下是一个 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;
上面的脚本执行以下任务。
-
Logs into Teradata System.
-
Sets the Default Database.
-
创建名为 employee_bkup 的表。
-
从 Employee 表中选择一条记录,以检查表中是否有任何记录。
-
如果表为空,则删除 employee_bkup 表。
-
将控制权转移到标签 InsertEmployee,它将记录插入 employee_bkup 表
-
检查 ERRORCODE,确保在每个 SQL 语句之后该语句都成功执行。
-
ACTIVITYCOUNT 返回上一条 SQL 查询选择的/影响的记录数。