Teradata - BTEQ

O utilitário BTEQ é um utilitário poderoso no Teradata que pode ser usado no modo batch e interativo. Ele pode ser usado para executar qualquer instrução DDL, instrução DML, criar macros e procedimentos armazenados. O BTEQ pode ser usado para importar dados para tabelas Teradata a partir de um arquivo simples e também pode ser usado para extrair dados de tabelas para arquivos ou relatórios.

Termos BTEQ

A seguir está a lista de termos comumente usados ​​em scripts BTEQ.

  • LOGON - Usado para fazer login no sistema Teradata.

  • ACTIVITYCOUNT - Retorna o número de linhas afetadas pela consulta anterior.

  • ERRORCODE - Retorna o código de status da consulta anterior.

  • DATABASE - Define o banco de dados padrão.

  • LABEL - Atribui um rótulo a um conjunto de comandos SQL.

  • RUN FILE - Executa a consulta contida em um arquivo.

  • GOTO - Transfere o controle para uma etiqueta.

  • LOGOFF - Sai do banco de dados e encerra todas as sessões.

  • IMPORT - Especifica o caminho do arquivo de entrada.

  • EXPORT - Especifica o caminho do arquivo de saída e inicia a exportação.

Exemplo

A seguir está um exemplo de script 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;

O script acima executa as seguintes tarefas.

  • Efetua login no Teradata System.

  • Define o banco de dados padrão.

  • Cria uma tabela chamada employee_bkup.

  • Seleciona um registro da tabela Employee para verificar se a tabela possui algum registro.

  • Descarta a tabela employee_bkup, se a tabela estiver vazia.

  • Transfere o controle para um Label InsertEmployee que insere registros na tabela employee_bkup

  • Verifica ERRORCODE para certificar-se de que a instrução foi bem-sucedida, após cada instrução SQL.

  • ACTIVITYCOUNT retorna o número de registros selecionados / afetados pela consulta SQL anterior.