例: JDBCの入力/出力引数 - Advanced SQL Engine - Teradata Database

Teradata Vantage™ - SQLデータ操作言語

Product
Advanced SQL Engine
Teradata Database
Release Number
17.05
Published
2021年1月
Language
日本語
Last Update
2021-03-30
dita:mapPath
ja-JP/vnq1596660420420.ditamap
dita:ditavalPath
ja-JP/vnq1596660420420.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呼び出しを使って、応答からパラメータ値を取り出すことができます。