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 表。

  • 將控制轉移到標籤 InsertEmployee,該標籤將記錄插入 employee_bkup 表。

  • 檢查 ERRORCODE 以確保每個 SQL 語句都成功。

  • ACTIVITYCOUNT 返回前一個 SQL 查詢選擇/影響的記錄數。

廣告
© . All rights reserved.