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系统。
- 设置默认数据库。
- 创建名为employee_bkup的表。
- 从Employee表中选择一个记录,以检查表是否有任何记录。
- 如果表为空,则删除employee_bkup表。
- 将控件转移到将插入记录到employee_bkup表中的Label InsertEmployee
- 在每个SQL语句之后,检查ERRORCODE以确保语句成功。
- ACTIVITYCOUNT返回先前SQL查询选择/影响的记录数。