codecamp

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查询选择/影响的记录数。

Teradata 快速导出
温馨提示
下载编程狮App,免费阅读超1000+编程语言教程
取消
确定
目录

关闭

MIP.setData({ 'pageTheme' : getCookie('pageTheme') || {'day':true, 'night':false}, 'pageFontSize' : getCookie('pageFontSize') || 20 }); MIP.watch('pageTheme', function(newValue){ setCookie('pageTheme', JSON.stringify(newValue)) }); MIP.watch('pageFontSize', function(newValue){ setCookie('pageFontSize', newValue) }); function setCookie(name, value){ var days = 1; var exp = new Date(); exp.setTime(exp.getTime() + days*24*60*60*1000); document.cookie = name + '=' + value + ';expires=' + exp.toUTCString(); } function getCookie(name){ var reg = new RegExp('(^| )' + name + '=([^;]*)(;|$)'); return document.cookie.match(reg) ? JSON.parse(document.cookie.match(reg)[2]) : null; }