📅  最后修改于: 2020-11-29 09:10:31             🧑  作者: Mango
BTEQ实用程序是Teradata中一个功能强大的实用程序,可以在批处理和交互模式下使用。它可以用于运行任何DDL语句,DML语句,创建宏和存储过程。 BTEQ可用于将数据从平面文件导入到Teradata表中,也可用于将表中的数据提取到文件或报告中。
以下是BTEQ脚本中常用的术语列表。
LOGON-用于登录Teradata系统。
ACTIVITYCOUNT-返回上一个查询影响的行数。
ERRORCODE-返回上一个查询的状态码。
DATABASE-设置默认数据库。
标签-为一组SQL命令分配标签。
RUN FILE-执行文件中包含的查询。
GOTO-将控制权转移到标签。
LOGOFF-从数据库注销并终止所有会话。
导入-指定输入文件路径。
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系统。
设置默认数据库。
创建一个名为employee_bkup的表。
从Employee表中选择一条记录,以检查该表是否包含任何记录。
如果表为空,则删除employee_bkup表。
将控件转移到Label InsertEmployee,后者将记录插入到employee_bkup表中
在每个SQL语句之后检查ERRORCODE以确保该语句成功。
ACTIVITYCOUNT返回上一个SQL查询选择/影响的记录数。