Teradata - BTEQ

L'utilitaire BTEQ est un utilitaire puissant de Teradata qui peut être utilisé à la fois en mode batch et interactif. Il peut être utilisé pour exécuter n'importe quelle instruction DDL, instruction DML, créer des macros et des procédures stockées. BTEQ peut être utilisé pour importer des données dans des tables Teradata à partir d'un fichier plat et il peut également être utilisé pour extraire des données de tables dans des fichiers ou des rapports.

Termes BTEQ

Voici la liste des termes couramment utilisés dans les scripts BTEQ.

  • LOGON - Utilisé pour se connecter au système Teradata.

  • ACTIVITYCOUNT - Renvoie le nombre de lignes affectées par la requête précédente.

  • ERRORCODE - Renvoie le code d'état de la requête précédente.

  • DATABASE - Définit la base de données par défaut.

  • LABEL - Attribue une étiquette à un ensemble de commandes SQL.

  • RUN FILE - Exécute la requête contenue dans un fichier.

  • GOTO - Transfère le contrôle vers une étiquette.

  • LOGOFF - Se déconnecte de la base de données et met fin à toutes les sessions.

  • IMPORT - Spécifie le chemin du fichier d'entrée.

  • EXPORT - Spécifie le chemin du fichier de sortie et lance l'exportation.

Exemple

Voici un exemple 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;

Le script ci-dessus effectue les tâches suivantes.

  • Se connecte au système Teradata.

  • Définit la base de données par défaut.

  • Crée une table appelée employee_bkup.

  • Sélectionne un enregistrement de la table Employee pour vérifier si la table contient des enregistrements.

  • Supprime la table employee_bkup, si la table est vide.

  • Transfère le contrôle vers un Label InsertEmployee qui insère des enregistrements dans la table employee_bkup

  • Vérifie ERRORCODE pour s'assurer que l'instruction est réussie, après chaque instruction SQL.

  • ACTIVITYCOUNT renvoie le nombre d'enregistrements sélectionnés / impactés par la requête SQL précédente.