クエリーのSELECTステートメントでは、catalog_name.schema_name.table_nameを使用できます。データベースを指定しなかった場合、デフォルトでQueryGridポートレット内のコネクタ プロパティに対して構成されているデータベースが使用されます。
この外部サーバー文法は、結合および通常のテーブル(ビュー、マクロ、ストアド プロシージャを含む)を参照するその他の任意の場所で使用できます。
プッシュダウン述語では、AND、OR、GT、LT、LE、GE、EQ、ISNULL、IS NOT NULL、IN、NOT IN などの論理式がサポートされます。
TeradataからPresto、およびPrestoからTeradataのデータ型のマッピングについては、QueryGridのデータ変換を参照してください。
例: PrestoからTeradataへのSELECT
この例では、リモートTeradataシステムからデータを取得するためにPrestoで開始されたインポートを示します。プッシュするクエリー述語は、Prestoサーバーによって制約クラス内のコネクタに提供され、リモートTeradataシステムに対するプッシュダウンに使用されます。
SELECT MAKE, MODEL FROM QG_TD1.DB1.TD_CARDATA WHERE MAKE = 'BUICK';
make model ------ -------------------- Buick Century Buick Enclave
ここで、QG_TD1はPrestoからTeradataへのリンクを参照するために使用されるカタログです。DB1はリモート システムのデータベース名またはスキーマ名で、TD_CARDATAはリモート システム上のテーブルを示します。
例: EXPORTを使用したTeradata-Presto間のSELECT From Foreign Table
次の例では、EXPORTリクエストを使用した外部テーブルによるTeradataからPrestoへのSELECTを開始します。Prestoターゲット コネクタはターゲットPrestoシステムで一時テーブルを作成し、データをローカルTeradata Databaseからエクスポートし、結合クエリーまたは集約クエリーの結果をTeradata Databaseにインポートします。この例では、作成されるリモート テーブルの名前はpricetempです。
SELECT * FROM FOREIGN TABLE(SELECT p.make, SUM(quantity * price) FROM pricetemp p, store.inventory q WHERE p.itemid = q.itemid GROUP BY p.partno)@presto1 EXPORT((select * from monthlyprice) as pricetemp) as dt;