CLIv2を使用した動的な結果セットの消費 - 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

この例では、外部ストアド プロシージャで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>を参照してください。