Teradata - BTEQ
L'utilità BTEQ è una potente utilità in Teradata che può essere utilizzata sia in modalità batch che interattiva. Può essere utilizzato per eseguire qualsiasi istruzione DDL, istruzione DML, creare macro e stored procedure. BTEQ può essere utilizzato per importare dati in tabelle Teradata da file flat e può anche essere utilizzato per estrarre dati da tabelle in file o report.
Termini BTEQ
Di seguito è riportato l'elenco dei termini comunemente utilizzati negli script BTEQ.
LOGON - Usato per accedere al sistema Teradata.
ACTIVITYCOUNT - Restituisce il numero di righe interessate dalla query precedente.
ERRORCODE - Restituisce il codice di stato della query precedente.
DATABASE - Imposta il database predefinito.
LABEL - Assegna un'etichetta a una serie di comandi SQL.
RUN FILE - Esegue la query contenuta in un file.
GOTO - Trasferisce il controllo a un'etichetta.
LOGOFF - Si disconnette dal database e termina tutte le sessioni.
IMPORT - Specifica il percorso del file di input.
EXPORT - Specifica il percorso del file di output e avvia l'esportazione.
Esempio
Di seguito è riportato uno script BTEQ di esempio.
.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;
Lo script precedente esegue le seguenti attività.
Accede al sistema Teradata.
Imposta il database predefinito.
Crea una tabella denominata dipendente_bkup.
Seleziona un record dalla tabella Employee per verificare se la tabella ha record.
Elimina la tabella dipendente_bkup, se la tabella è vuota.
Trasferisce il controllo a un'etichetta InsertEmployee che inserisce i record nella tabella dipendente_bkup
Controlla ERRORCODE per assicurarsi che l'istruzione abbia esito positivo, dopo ogni istruzione SQL.
ACTIVITYCOUNT restituisce il numero di record selezionati / interessati dalla precedente query SQL.