ODBCとJDBCの呼び出し引数に関するルール - Teradata Database - Teradata Vantage NewSQL Engine - ODBCとJDBCの呼び出し引数に関するルール、CALL 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
ODBCまたはJDBCアプリケーションからCALL文を実行する場合は、以下の追加ルールが呼び出し引数に適用されます。
  • IN引数またはINOUT引数は、以下のいずれかでなければなりません。
    • 値式。

      値式は、コロン文字が先頭に付いた識別子を備えていてはならず、 定数式でなければなりません。

    • 入力プレースホルダーとして使用する疑問符文字(?)。

      ?を指定する場合は、プロシージャを呼び出す前に、呼び出すプロシージャ内の対応するINまたはINOUTパラメータの値を、ODBCまたはJDBC固有の呼び出しを使って設定しなければなりません。

      INおよびINOUT引数の?マーカーの数、およびリクエスト メッセージ内のStatementInfoパーセルに指定されたデータ項目の数には、1対1の対応があります。StatementInfoに、OUT引数の項目は含まれません。

      例えば、以下のSQLプロシージャ定義およびCALL文を考慮してください。

           CREATE PROCEDURE sp3 (
             IN pil     INTEGER,
             INOUT pio1 INTEGER,
             OUT po1    INTEGER)
           BEGIN
             SELECT j INTO :pio1
             FROM tb11
             WHERE i=2;
             SELECT k INTO :po1
             FROM tb11
             WHERE i=2;
           END;
      
           CALL sp3 (:?, :?, :?);

      この呼び出しを実行する場合、StatementInfoパーセルには、INおよびINOUT パラメータに対してそれぞれ1つずつ、2つの項目が入ります。

  • OUT引数は、OUT呼び出しプレースホルダーでなければなりません。