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

Teradata Vantage™ SQLデータ操作言語

Product
Teradata Database
Teradata Vantage NewSQL Engine
Release Number
16.20
Release Date
2019年3月
Content Type
プログラミング リファレンス
Publication ID
B035-1146-162K-JPN
Language
日本語 (日本)

ストアド プロシージャ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呼び出しを使って、応答からパラメータ値を取り出すことができます。