Teradata 简明教程

Teradata - BTEQ

BTEQ 实用工具是 Teradata 中的一个强大实用工具,可以在批处理和交互模式下使用。它可用于运行任何 DDL 语句、DML 语句、创建宏和存储过程。BTEQ 可用于从平面文件导入数据到 Teradata 表,还可用于将数据从表中提取到文件或报告。

BTEQ Terms

以下是 BTEQ 脚本中常用的术语列表。

  1. LOGON - 用于登录到 Teradata 系统。

  2. ACTIVITYCOUNT - 返回上一个查询影响的行数。

  3. ERRORCODE − 返回前一个查询的状态代码。

  4. DATABASE − 设置默认数据库。

  5. LABEL − 向一组 SQL 命令分配一个标签。

  6. RUN FILE − 执行文件中包含的查询。

  7. GOTO − 将控制权转移到标签。

  8. LOGOFF − 从数据库注销并终止所有会话。

  9. IMPORT − 指定输入文件路径。

  10. 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;

上面的脚本执行以下任务。

  1. Logs into Teradata System.

  2. Sets the Default Database.

  3. 创建名为 employee_bkup 的表。

  4. 从 Employee 表中选择一条记录,以检查表中是否有任何记录。

  5. 如果表为空,则删除 employee_bkup 表。

  6. 将控制权转移到标签 InsertEmployee,它将记录插入 employee_bkup 表

  7. 检查 ERRORCODE,确保在每个 SQL 语句之后该语句都成功执行。

  8. ACTIVITYCOUNT 返回上一条 SQL 查询选择的/影响的记录数。