例: データ ディクショナリからの行の取得と、クライアント システム上の外部キューへの書き込み - Advanced SQL Engine - Teradata Database

Teradata Vantage™ - SQLデータ定義言語 構文規則および例

Product
Advanced SQL Engine
Teradata Database
Release Number
17.05
Published
2021年1月
Language
日本語
Last Update
2021-03-30
dita:mapPath
ja-JP/ncd1596241368722.ditamap
dita:ditavalPath
ja-JP/ncd1596241368722.ditaval
dita:id
B035-1144
Product Category
Software
Teradata Vantage

ここで、例: 外部キューにメッセージを書き込むUDFの使用で定義したUDFのもう少し広範囲な使用について考慮します。この例では、Vantage内からディクショナリ情報を検索し、それをクライアント システムの外部MQキューに書き込みます。

これを行なうには、SELECTリクエストのWHERE句で指定されている要件を満たすDBC.Tablesの各行に対して、write_mq UDFを呼び出します。SELECTリクエストはデータベース名とテーブル名を連結し、UDFの入力引数になるVARCHAR文字列を作成します。そして連結されたdatabasename.tablenameのテキストをメッセージとしてMQキューに書き込みます。

     SELECT COUNT(*) AS sent_msgs 
     FROM 
   (SELECT write_mq
      ('queue.manager.1','QUEUE1','CHANNEL1/TCP/153.64.119.177',
         Trim(databasename)||'.'||trim(TableName)) AS c1
       FROM DBC.Tables 
        WHERE TableKind = 'T')T;

この例は、完全にVantageの外にあるキューに、任意のSQLリクエストの結果セット全体を簡単に送信できることを示しています。