getExternalQuery - Advanced SQL Engine - Teradata Database

Teradata Vantage™ - SQL外部ルーチン プログラミング

Product
Advanced SQL Engine
Teradata Database
Release Number
17.10
Published
2021年7月
Language
日本語
Last Update
2021-09-23
dita:mapPath
ja-JP/rin1593638965306.ditamap
dita:ditavalPath
ja-JP/wrg1590696035526.ditaval
dita:id
B035-1147
Product Category
Software
Teradata Vantage

外部サーバーのテキスト問合わせ文字列を生成し、現在サポートされているインターフェース バージョンを返します。メソッドは外部問合わせを含む文字列を返します。

このルーチンは、PE vprocでテーブル演算子によってのみ呼び出し可能です。

構文

public String  getExternalQuery(
   ColumnDefinition[]  colDefs,
   ServerType          serverType,
   ExtOpSetType[]      extOpSetTypes,
   int[]               interfaceVersions)
      throws SQLException

構文要素

colDefs
列定義の一覧。
serverType
ServerTypeは次のように定義されます:
public enum ServerType {
   ANSISQL(0),
   HADOOP(1);
}
extOpSetTypes
外部サーバーでサポートされている有効な演算子のセット。
ExOpSetTypeは次のように定義されます:
public enum ExtOpSetType {
   Eq_ET(0),
   Ne_ET(1),
   Gt_ET(2),
   Le_ET(3),
   Lt_ET(4),
   And_ET(5),
   Or_ET(6),
   Not_ET(7),
   Between_ET(8),
   In_ET(9),
   NotIn_ET(10),
   Ge_ET(11),
   Like_ET(12),
   LastOp_ET(13);
}
interfaceVersions
  • 呼び出し側は、引数として目的のインターフェース バージョンを渡します。
  • ルーチンは、現在サポートされている実際のインターフェースのバージョンを返します。

例: getExternalQueryの呼び出し

ServerType sType = ServerType.ANSISQL;
ExtOpSetType extOpTypes[] = new ExtOpSetType[3];
extOpTypes[0] = ExtOpSetType.Eq_ET;
extOpTypes[1] = ExtOpSetType.And_ET;
extOpTypes[2] = ExtOpSetType.Or_ET;

int[] versions = new int[2];
versions[0] = 1;    // The caller passes in the desired interface version.

String extQuery = contract.getExternalQuery(colDefs, sType, extOpTypes, versions);

getExternalQueryを呼び出した後、versions[1]には現在システムでサポートされている実際のインターフェースのバージョンが含まれます。