|
Java プラットフォーム 1.2 |
|||||||||
| 前のクラス 次のクラス | フレームあり フレームなし | |||||||||
| 概要: 内部クラス | フィールド | コンストラクタ | メソッド | 詳細: フィールド | コンストラクタ | メソッド | |||||||||
SQL ストアドプロシージャを実行するのに使用されるインタフェースです。JDBC は、ストアドプロシージャ SQL エスケープを提供します。これにより、すべての RDBMS に対し標準の方法でストアドプロシージャを呼び出せます。このエスケープ構文には、結果パラメータを含めるものと含めないものとがあります。使用するには、結果パラメータは OUT パラメータとして登録しなければなりません。ほかのパラメータは入出力両方に使用できます。パラメータは、番号により順番に参照されます。最初のパラメータは 1 です。
{?= call <procedure-name>[<arg1>,<arg2>, ...]}
{call <procedure-name>[<arg1>,<arg2>, ...]}
IN パラメータ値は、PreparedStatement から継承した set メソッドを使用して設定されます。すべての OUT パラメータのタイプはストアドプロシージャの実行前に登録しなければなりません。それらの値は、ここで提供される get メソッドの実行後に取り出されます。
CallableStatement は、1 つまたは複数の ResultSet オブジェクトを返すことがあります。複数の ResultSet オブジェクトは Statement から継承した操作で処理されます。
移植性を最大限にするには、出力パラメータを得る前に、呼び出しの ResultSet オブジェクトと更新カウントを処理しなければなりません。
Connection.prepareCall(java.lang.String),
ResultSet| メソッドの概要 | |
Array |
getArray(int i)
JDBC 2.0 JDBC ARRAY パラメータの値を Java プログラミング言語の Array オブジェクトとして取得します。 |
BigDecimal |
getBigDecimal(int parameterIndex)
JDBC 2.0 JDBC NUMERIC パラメータの値を、その値と同じ小数点以下の桁数を持つ java.math.BigDecimal オブジェクトとして取得します。 |
BigDecimal |
getBigDecimal(int parameterIndex,
int scale)
推奨されません。 |
Blob |
getBlob(int i)
JDBC 2.0 JDBC BLOB パラメータの値を Java プログラミング言語の Blob オブジェクトとして取得します。 |
boolean |
getBoolean(int parameterIndex)
JDBC BIT パラメータの値を Java プログラミング言語の boolean として取得します。 |
byte |
getByte(int parameterIndex)
JDBC TINYINT パラメータの値を Java プログラミング言語の byte として取得します。 |
byte[] |
getBytes(int parameterIndex)
JDBC の BINARY パラメータまたは VARBINARY パラメータの値を Java プログラミング言語の byte 値の配列として取得します。 |
Clob |
getClob(int i)
JDBC 2.0 JDBC CLOB パラメータの値を Java プログラミング言語の Clob オブジェクトとして取得します。 |
Date |
getDate(int parameterIndex)
JDBC DATE パラメータの値を java.sql.Date オブジェクトとして取得します。 |
Date |
getDate(int parameterIndex,
Calendar cal)
JDBC DATE パラメータの値を java.sql.Date オブジェクトとして取得します。 |
double |
getDouble(int parameterIndex)
JDBC DOUBLE パラメータの値を Java プログラミング言語の double として取得します。 |
float |
getFloat(int parameterIndex)
JDBC FLOAT パラメータの値を Java プログラミング言語の float として取得します。 |
int |
getInt(int parameterIndex)
JDBC INTEGER パラメータの値を Java プログラミング言語の int として取得します。 |
long |
getLong(int parameterIndex)
JDBC BIGINT パラメータの値を Java プログラミング言語の long として取得します。 |
Object |
getObject(int parameterIndex)
パラメータの値を Java プログラミング言語のオブジェクトとして取得します。 |
Object |
getObject(int i,
Map map)
JDBC 2.0 OUT パラメータ i の値を表すオブジェクトを返し、map を使用してそのパラメータ値のカスタムマッピングを行います。
|
Ref |
getRef(int i)
JDBC 2.0 JDBC REF(<structured-type>) パラメータの値を Java プログラミング言語の Ref オブジェクトとして取得します。 |
short |
getShort(int parameterIndex)
JDBC SMALLINT パラメータの値を Java プログラミング言語の short として取得します。 |
String |
getString(int parameterIndex)
JDBC の CHAR、VARCHAR、または LONGVARCHAR パラメータの値を Java プログラミング言語の String として取り出します。
|
Time |
getTime(int parameterIndex)
JDBC TIME パラメータの値を java.sql.Time オブジェクトとして取得します。 |
Time |
getTime(int parameterIndex,
Calendar cal)
JDBC TIME パラメータの値を java.sql.Time オブジェクトとして取得します。 |
Timestamp |
getTimestamp(int parameterIndex)
JDBC TIMESTAMP パラメータの値を java.sql.Timestamp オブジェクトとして取得します。 |
Timestamp |
getTimestamp(int parameterIndex,
Calendar cal)
JDBC TIMESTAMP パラメータの値を java.sql.Timestamp オブジェクトとして取得します。 |
void |
registerOutParameter(int parameterIndex,
int sqlType)
順番 parameterIndex の OUT パラメータを JDBC タイプの sqlType に登録します。 |
void |
registerOutParameter(int parameterIndex,
int sqlType,
int scale)
順番 parameterIndex のパラメータを JDBC タイプの sqlType に登録します。 |
void |
registerOutParameter(int paramIndex,
int sqlType,
String typeName)
JDBC 2.0 指定された出力パラメータを登録します。 |
boolean |
wasNull()
最後に読み込まれた OUT パラメータの値が SQL NULL かどうかを示します。 |
| インタフェース java.sql.PreparedStatement から継承したメソッド |
addBatch,
clearParameters,
execute,
executeQuery,
executeUpdate,
getMetaData,
setArray,
setAsciiStream,
setBigDecimal,
setBinaryStream,
setBlob,
setBoolean,
setByte,
setBytes,
setCharacterStream,
setClob,
setDate,
setDate,
setDouble,
setFloat,
setInt,
setLong,
setNull,
setNull,
setObject,
setObject,
setObject,
setRef,
setShort,
setString,
setTime,
setTime,
setTimestamp,
setTimestamp,
setUnicodeStream |
| メソッドの詳細 |
public void registerOutParameter(int parameterIndex,
int sqlType)
throws SQLException
parameterIndex の OUT パラメータを JDBC タイプの sqlType に登録します。ストアドプロシージャが実行される前に、すべての OUT パラメータを登録する必要があります。
OUT パラメータ用に sqlType によって指定された JDBC タイプは、そのパラメータを読み込むために get メソッドで使用する必要のある Java タイプを判定します。
この出力パラメータに返されることになっている JDBC タイプがこの特定のデータベースに固有である場合、sqlType は java.sql.Types.OTHER でなければなりません。getObject(int) メソッドは値を取り出します。
parameterIndex - 最初のパラメータは 1、2 番目は 2、などとするsqlType - java.sql.Types によって定義される JDBC タイプコード。パラメータが Numeric または Decimal タイプの場合、スケール値を受け入れるバージョンの registerOutParameter を使用するTypes
public void registerOutParameter(int parameterIndex,
int sqlType,
int scale)
throws SQLException
parameterIndex のパラメータを JDBC タイプの sqlType に登録します。このメソッドは、ストアドプロシージャが実行される前に呼び出さなければなりません。
OUT パラメータ用に sqlType によって指定された JDBC タイプは、そのパラメータの値を読み込むために get メソッドで使用する必要のある Java タイプを判定します。
パラメータが JDBC タイプ NUMERIC または DECIMAL の場合は、このバージョンの registerOutParameter を使用しなければなりません。
parameterIndex - 最初のパラメータは 1、2 番目は 2、などとするsqlType - java.sql.Types によって定義される SQL タイプコードscale - 希望の小数点以下の桁数。0 以上の数値を指定するTypes
public boolean wasNull()
throws SQLException
get メソッドの呼び出しのあとでなければなりません。そうでない場合は、null かどうかを判別するために使用する値がありません。true、そうでない場合は false
public String getString(int parameterIndex)
throws SQLException
CHAR、VARCHAR、または LONGVARCHAR パラメータの値を Java プログラミング言語の String として取り出します。
固定長 JDBC CHAR タイプの場合、返される String オブジェクトはデータベースで JDBC CHAR が持つ値と正確に同じ値 (データベースが付加するパディングを含む) を持ちます。
parameterIndex - 最初のパラメータは 1、2 番目は 2、などとするnull
public boolean getBoolean(int parameterIndex)
throws SQLException
boolean として取得します。parameterIndex - 最初のパラメータは 1、2 番目は 2、などとするfalse
public byte getByte(int parameterIndex)
throws SQLException
byte として取得します。parameterIndex - 最初のパラメータは 1、2 番目は 2、などとする
public short getShort(int parameterIndex)
throws SQLException
short として取得します。parameterIndex - 最初のパラメータは 1、2 番目は 2、などとする
public int getInt(int parameterIndex)
throws SQLException
int として取得します。parameterIndex - 最初のパラメータは 1、2 番目は 2、などとする
public long getLong(int parameterIndex)
throws SQLException
long として取得します。parameterIndex - 最初のパラメータは 1、2 番目は 2、などとする
public float getFloat(int parameterIndex)
throws SQLException
float として取得します。parameterIndex - 最初のパラメータは 1、2 番目は 2、などとする
public double getDouble(int parameterIndex)
throws SQLException
double として取得します。parameterIndex - 最初のパラメータは 1、2 番目は 2、などとする
public BigDecimal getBigDecimal(int parameterIndex,
int scale)
throws SQLException
NUMERIC パラメータの値を、scale で指定された小数点以下の桁数を持つ java.math.BigDecimal オブジェクトとして取得します。parameterIndex - 最初のパラメータは 1、2 番目は 2、などとするscale - 小数点以下の桁数null
public byte[] getBytes(int parameterIndex)
throws SQLException
BINARY パラメータまたは VARBINARY パラメータの値を Java プログラミング言語の byte 値の配列として取得します。parameterIndex - 最初のパラメータは 1、2 番目は 2、などとするnull
public Date getDate(int parameterIndex)
throws SQLException
DATE パラメータの値を java.sql.Date オブジェクトとして取得します。parameterIndex - 最初のパラメータは 1、2 番目は 2、などとするnull
public Time getTime(int parameterIndex)
throws SQLException
TIME パラメータの値を java.sql.Time オブジェクトとして取得します。parameterIndex - 最初のパラメータは 1、2 番目は 2、などとするnull
public Timestamp getTimestamp(int parameterIndex)
throws SQLException
TIMESTAMP パラメータの値を java.sql.Timestamp オブジェクトとして取得します。parameterIndex - 最初のパラメータは 1、2 番目は 2、などとするnull
public Object getObject(int parameterIndex)
throws SQLException
このメソッドは、Java オブジェクトを返します。そのオブジェクトのタイプは、registerOutParameter メソッドを使用して登録された JDBC タイプに対応します。ターゲットの JDBC タイプを java.sql.Types.OTHER として登録することで、このメソッドを使用してデータベース固有の抽象データタイプを読み込むことができます。
parameterIndex - 最初のパラメータは 1、2 番目のパラメータは 2、などとするjava.lang.ObjectTypes
public BigDecimal getBigDecimal(int parameterIndex)
throws SQLException
JDBC NUMERIC パラメータの値を、その値と同じ小数点以下の桁数を持つ java.math.BigDecimal オブジェクトとして取得します。
parameterIndex - 最初のパラメータは 1、2 番目のパラメータは 2、などとするnull
public Object getObject(int i,
Map map)
throws SQLException
OUT パラメータ i の値を表すオブジェクトを返し、map を使用してそのパラメータ値のカスタムマッピングを行います。
このメソッドは、Java オブジェクトを返します。そのオブジェクトのタイプは、registerOutParameter メソッドを使用して登録された JDBC タイプに対応します。ターゲットの JDBC タイプを java.sql.Types.OTHER として登録することで、このメソッドを使用してデータベース固有の抽象データタイプを読み込むことができます。
i - 最初のパラメータは 1、2 番目のパラメータは 2、などとするmap - SQL タイプ名から Java クラスへのマッピング
public Ref getRef(int i)
throws SQLException
JDBC REF(<structured-type>) パラメータの値を Java プログラミング言語の Ref オブジェクトとして取得します。
i - 最初のパラメータは 1、2 番目のパラメータは 2、などとするRef オブジェクトとして表されたパラメータ値。値が SQL NULL の場合は null
public Blob getBlob(int i)
throws SQLException
JDBC BLOB パラメータの値を Java プログラミング言語の Blob オブジェクトとして取得します。
i - 最初のパラメータは 1、2 番目のパラメータは 2、などとするBlob オブジェクトとして表されたパラメータ値。値が SQL NULL の場合は null
public Clob getClob(int i)
throws SQLException
JDBC CLOB パラメータの値を Java プログラミング言語の Clob オブジェクトとして取得します。
i - 最初のパラメータは 1、2 番目のパラメータは 2、などとするClob オブジェクトとして表されたパラメータ値。値が SQL NULL の場合は null
public Array getArray(int i)
throws SQLException
JDBC ARRAY パラメータの値を Java プログラミング言語の Array オブジェクトとして取得します。
i - 最初のパラメータは 1、2 番目のパラメータは 2、などとするArray オブジェクトとして表されたパラメータ値。値が SQL NULL の場合は null
public Date getDate(int parameterIndex,
Calendar cal)
throws SQLException
DATE パラメータの値を java.sql.Date オブジェクトとして取得します。日付の作成には、指定された Calendar オブジェクトを使用します。Calendar オブジェクトを使用すると、ドライバはカスタムタイムゾーンおよびロケールを考慮して日付を計算できます。Calendar オブジェクトを指定しない場合、ドライバはデフォルトのタイムゾーンおよびロケールを使用します。parameterIndex - 最初のパラメータは 1、2 番目のパラメータは 2、などとするcal - ドライバが日付を作成するために使用する Calendar オブジェクトnull
public Time getTime(int parameterIndex,
Calendar cal)
throws SQLException
TIME パラメータの値を java.sql.Time オブジェクトとして取得します。時刻の作成には、指定された Calendar オブジェクトを使用します。Calendar オブジェクトを使用すると、ドライバはカスタムタイムゾーンおよびロケールを考慮して時刻を計算できます。Calendar オブジェクトを指定しない場合、ドライバはデフォルトのタイムゾーンおよびロケールを使用します。parameterIndex - 最初のパラメータは 1、2 番目のパラメータは 2、などとするcal - ドライバが時刻を作成するために使用する Calendar オブジェクトnull
public Timestamp getTimestamp(int parameterIndex,
Calendar cal)
throws SQLException
TIMESTAMP パラメータの値を java.sql.Timestamp オブジェクトとして取得します。Timestamp オブジェクトの作成には、指定された Calendar オブジェクトを使用します。Calendar オブジェクトを使用すると、ドライバはカスタムタイムゾーンおよびロケールを考慮してタイムスタンプを計算できます。Calendar オブジェクトを指定しない場合、ドライバはデフォルトのタイムゾーンおよびロケールを使用します。parameterIndex - 最初のパラメータは 1、2 番目のパラメータは 2、などとするcal - ドライバがタイムスタンプを作成するために使用する Calendar オブジェクトnull
public void registerOutParameter(int paramIndex,
int sqlType,
String typeName)
throws SQLException
指定された出力パラメータを登録します。ユーザ命名出力パラメータまたは REF 出力パラメータには、このバージョンの registerOutParameter メソッドを使用します。ユーザ命名タイプの例には、STRUCT、DISTINCT、JAVA_OBJECT、および名前付き配列があります。
ストアドプロシージャの呼び出しを実行する前に、registerOutParameter を明示的に呼び出して、各 OUT パラメータのタイプを java.sql.Types から登録する必要があります。ユーザ命名パラメータの場合は、そのパラメータの完全指定された SQL タイプ名も指定します。REF パラメータでは、参照されるタイプの完全指定されたタイプ名を指定する必要があります。タイプコードやタイプ名の情報を必要としない JDBC ドライバはそれを無視します。ただし、ポーテビリティを実現するには、アプリケーションはユーザ命名パラメータおよび REF パラメータのそれらの値を提供しなければなりません。
ユーザ命名パラメータおよび REF パラメータを対象としていますが、このメソッドは任意の JDBC タイプのパラメータを登録するために使用できます。パラメータがユーザ命名タイプまたは REF タイプを持たない場合、typeName パラメータは無視されます。
注: 出力パラメータの値を読み込むときには、Java タイプ XXX がパラメータの登録されている SQL タイプに対応する getXXX メソッドを使用する必要がありますん。
parameterIndex - 最初のパラメータは 1、2 番目のパラメータは 2、などとするsqlType - Types からの値typeName - SQL 構造化型の完全指定された名前Types
|
Java プラットフォーム 1.2 |
|||||||||
| 前のクラス 次のクラス | フレームあり フレームなし | |||||||||
| 概要: 内部クラス | フィールド | コンストラクタ | メソッド | 詳細: フィールド | コンストラクタ | メソッド | |||||||||