例: JDBCの入力/出力引数 - Teradata Database - Teradata Vantage NewSQL Engine - 例: JDBCの入力/出力引数

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について考えてみましょう。このストアド プロシージャは、以下のJDBC API呼び出しによって実行できます。

     CallableStatement cstmt = con.prepareCall("CALL spSample2(p1, ?,      ?)");
     ResultSet rs = cstmt.executeQuery();

第2行(ResultSet rs = ...)については、次の代替呼び出しも使えます。

     boolean bool = cstmt.execute();

または

     int count = cstmt.executeUpdate();

疑問符は引数を示しており、prepareCall()リクエストのINまたはINOUTパラメータのプレースホルダーの役割を果たします。疑問符のプレースホルダー引数は、CallableStatement.setXXX() JDBC API呼び出しを使ってアプリケーションのローカル変数および定数にバインドしなければなりません。

あるいは、IN引数またはINOUT引数を値式にすることもできます。

INOUT引数とOUT引数は、以下のJDBC API呼び出しを使って登録する必要があります。

     CallableStatement.registerOutParameter()

実行後、CallableStatement.getXXX() JDBC API呼び出しを使って、応答からパラメータ値を取り出すことができます。