CLIv2を使用した動的な結果セットの消費 - Advanced SQL Engine - Teradata Database

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

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

この例では、外部ストアド プロシージャでCLIv2を使用してSQLリクエストを実行し、動的な結果セットを戻すストアド プロシージャを呼び出します。

外部ストアド プロシージャは以下の処理を実行します。
  • TraceTableと呼ばれるテーブルを削除して作成します。このテーブルは、ストアド プロシージャの呼び出し結果として外部ストアド プロシージャに戻されるパーセルの型を追跡するために使用します。
  • tab1と呼ばれるテーブルを削除および作成します。
  • tab1に10行挿入します。
  • tab1テーブルから10行選択するp1ストアド プロシージャを呼び出します。戻される各パーセルごとに、外部ストアド プロシージャはこれをTraceTableテーブルに挿入します。

結果セットを戻すストアド プロシージャは、以下のように定義されます。

REPLACE PROCEDURE P1 (IN OUT_SQLSTR VARCHAR(50))
DYNAMIC RESULT SETS 1
BEGIN
   DECLARE C1 CURSOR WITH RETURN ONLY TO CALLER FOR S1;
   PREPARE S1 FROM OUT_SQLSTR;
   OPEN C1;
END;

REPLACE PROCEDURE文およびDYNAMIC RESULT SETS句の詳細については、<Teradata Vantage™ - SQLデータ定義言語-構文規則および例、B035-1144>を参照してください。DECLARE CURSOR文、PREPARE文、およびOPEN文の詳細については、<Teradata Vantage™ - SQLストアド プロシージャおよび埋め込みSQL、B035-1148>を参照してください。