Teradata BTEQ


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

BTEQ 条款


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

  • LOGON : 用于登录 Teradata 系统。

  • 活动计数 :返回上一个查询影响的行数。

  • 错误代码 :返回上一次查询的状态码。

  • 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 表。

  • 将控制权转移到 Label InsertEmployee,它将记录插入到employee_bkup 表中

  • 在每个 SQL 语句之后检查 ERRORCODE 以确保语句成功。

  • ACTIVITYCOUNT 返回上一个 SQL 查询选择/影响的记录数。