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