例: ストアド プロシージャおよび埋め込みSQLの入力引数と出力引数 - Teradata Database - Teradata Vantage NewSQL Engine - 例: ストアド プロシージャおよび埋め込みSQLの入力引数と出力引数

Teradata Vantage™ SQLデータ操作言語

Product
Teradata Database
Teradata Vantage NewSQL Engine
Release Number
16.20
Published
2019年3月
Language
日本語
Last Update
2019-10-29
dita:mapPath
ja-JP/fbo1512081269404.ditamap
dita:ditavalPath
ja-JP/fbo1512081269404.ditaval
dita:id
B035-1146
Product Category
Software
Teradata Vantage

ストアド プロシージャspSample2について考えてみましょう。引数は、以下のいずれかの書式で指定できます。

書式1:

  • ストアド プロシージャ:
         SET AppVar2 = 30 + AppVar3;
         SET AppVar3 = 40;
         CALL spSample1(:AppVar1, :AppVar2, :AppVar3);
  • 埋め込みSQLを使ったCプログラム:
         AppVar2 = 30 + AppVar3;
         AppVar3 = 40;
         EXEC SQL CALL spSample1(:AppVar1, :AppVar2, :AppVar3);

AppVar2AppVar3に指定した値は、それぞれp2p3の引数として渡されます。ストアド プロシージャの実行が終了すると、出力パラメータ値がAppVar1AppVar2で返されます。ACTIVITY_COUNTは1に設定されます。

書式2:

  • ストアド プロシージャ:
         SET AppVar2 = 30 + AppVar3;
         SET AppVar3 = 40;
         CALL spSample1(:AppVar1, :AppVar2, :AppVar3 + 3);
  • 埋め込みSQLを使ったCプログラム:
         AppVar2 = 30 + AppVar3;
         AppVar3 = 40;
         EXEC SQL CALL spSample1(:AppVar1, :AppVar2, :AppVar3 + 3);

p2p3の値は、それぞれAppVar2と(3 + AppVar3)です。ストアド プロシージャの実行が終了すると、出力パラメータ値がAppVar1AppVar2で返されます。ACTIVITY_COUNTは1に設定されます。