# BTEQ script in Perl, generate by Script Wizard
看了一个脚本文件,但是不知道什么是 BTEQ ,于是百度后分享一下
BTEQ,Basic Teradata Query,是随Teradata发行的一个用于提交SQL查询的前端工具。所有的BTEQ的命令都必须以.开头,以;结尾或者什么也不用。
BTEQ的几个常用的用于报表格式化输出设置:
.SET DEFAULTS:将输出格式定义成默认值;
.SET ECHOREQ ON/OFF:是否将SQL请求及BTEQ命令复制到输出报表中;
.SET FOLDLINE ON 1:把第1个字段显示在第1行,其它字段的值显示在第2行;
.SET FOOTING [NULL,'string']:定义脚注,可以包含&DATE、&TIME、&PAGE、&n;
.SET FORMAT ON/OFF:当设置OFF时,BTEQ将忽略FOOTING、FORMCHAR、RTITLE、HEADING、PAGEBREAK等的设置;
.SET HEADING [NULL,'string']:定义页头,使用同FOOTING一样;
.SET NULL AS 'string':对于NULL,默认值为问号,可以改变它的缺省值;
.SET OMIT ON/OFF [,/n/ALL]:将指定的字段不包括在报表中,它们可能用于在页头、脚注中;
.SET PAGEBREAK ON/OFF [,/n/ALL]:当指定的字段的值发生变化时,插入一个分页符,开始新的一页;
.SET PAGELENGTH n:定义页面的长度,默认值为55行;
.SET RTITLE ['string']:定义每页上方的标题,它将自动包含日期和页号;
.SET SEPARATOR ['string'/n]:定义字段之间的分隔符,用n表示空格;
.SET SUPPRESS ON/OFF [,/n/ALL]:对指定的字段,如果遇到有连续重复的值,则用空格代替;
.SET SKIPLINE ON/OFF [,/n/ALL]:当指定字段的值发生变化时,则插入一个空行;
.SET SKIPDOUBLE ON/OFF [,/n/ALL]:当指定字段的值发生变化时,则插入两个空行;
.SET UNDERLINE ON/OFF [,/n/ALL]:在每行输出中对指定的字段加下划线;
.SET WIDTH n:设置报表的宽度,默认值为75;
假定Teradata数据库为DEMO(这个名字必须在HOSTS文件中进行定义),以SQL01用户名进行登录,键入.logon demo/sql01。退出Teradata的命令为.logoff,而退出BTEQ的命令为.quit。如果需要在BTEQ中运行unix命令,就必须运行.os xxxx。
BTEQ可以以交互方式运行,也可以以批处理方式运行。对BTEQ的输出保存到文件中以及重新再恢复到标准输出:.export file=xxxx与.export reset。
在编写BTEQ脚本时,可以插入对多行进行注释,也可以采用--对单行进行注释:
.SET SESSION TRANSACTION ANSI;
--在脚本文件中,必须把用户的密码在logon命令中提供。
.LOGIN sql01,sql01;
SELECT ... FROM ... WHERE ...;
.QUIT
保存脚本为testScript,就可以通过.run file=testScript进行脚本的运行。
FROM:网络