|
|||||||||
PREV CLASS NEXT CLASS | FRAMES NO FRAMES | ||||||||
SUMMARY: INNER | FIELD | CONSTR | METHOD | DETAIL: FIELD | CONSTR | METHOD |
oracle.jdbc.driver.OracleStatement
Oracle statement class.
Field Summary | |
int |
auto_rollback
|
boolean |
closed
|
boolean |
columns_defined_by_user
|
oracle.jdbc.driver.DBStatement |
dbstmt
|
oracle.jdbc.driver.DBDataSet |
defines
|
int |
wait_option
|
Method Summary | |
void |
addBatch(java.lang.String sql)
Add a SQL command to the current batch. |
void |
cancel()
Cancel the current statement |
void |
clearBatch()
Make the set of commands in the current batch empty. |
void |
clearDefines()
Allows the user to clear previously defined types for the define-columns of a select statement. This is useful if the user wishes to re-use a statement for a different query. |
void |
clearWarnings()
We do not have any statement-level warnings. |
void |
close()
Close the current result set, if any, and then close the statement. |
void |
closeWithKey(java.lang.String key)
It is illegal to use closeWithKey() for a statement - only valid for PreparedStatements and CallableStatements. |
void |
defineColumnType(int column_index,
int type)
Define the type under which you will fetch data from the column. |
void |
defineColumnType(int column_index,
int type,
int max_size)
Defines the type you will use to retrieve data from a particular database table column and the maximum size of data you want. |
void |
defineColumnType(int column_index,
int typeCode,
java.lang.String typeName)
Define the type under which you will fetch data from the column. |
void |
defineColumnTypeBytes(int column_index,
int type,
int max_size)
Define the type under which you will fetch data from the column and the maximum size of data you want, specifying the maximum size in bytes, not characters. |
void |
defineColumnTypeChars(int column_index,
int type,
int max_size)
Define the type under which you will fetch data from the column and the maximum size of data you want, specifying the maximum size in characters, rather than bytes. |
boolean |
execute(java.lang.String sql)
Execute a SQL statement. |
boolean |
execute(java.lang.String sql,
int autoGeneratedKeys)
JDBC 3.0 Executes the given SQL statement, which may return multiple results, and signals the driver that any auto-generated keys should be made available for retrieval. |
boolean |
execute(java.lang.String sql,
int[] columnIndexes)
JDBC 3.0 Executes the given SQL statement, which may return multiple results, and signals the driver that the auto-generated keys indicated in the given array should be made available for retrieval. |
boolean |
execute(java.lang.String sql,
java.lang.String[] columnNames)
JDBC 3.0 Executes the given SQL statement, which may return multiple results, and signals the driver that the auto-generated keys indicated in the given array should be made available for retrieval. |
int[] |
executeBatch()
Submit a batch of commands to the database for execution. |
java.sql.ResultSet |
executeQuery(java.lang.String sql)
Execute a query statement. |
int |
executeUpdate(java.lang.String sql)
Execute an update statement. |
int |
executeUpdate(java.lang.String sql,
int autoGeneratedKeys)
JDBC 3.0 Executes the given SQL statement and signals the driver with the given flag about whether the auto-generated keys produced by this Statement object
should be made available for retrieval. |
int |
executeUpdate(java.lang.String sql,
int[] columnIndexes)
JDBC 3.0 Executes the given SQL statement and signals the driver that the auto-generated keys indicated in the given array should be made available for retrieval. |
int |
executeUpdate(java.lang.String sql,
java.lang.String[] columnNames)
JDBC 3.0 Executes the given SQL statement and signals the driver that the auto-generated keys indicated in the given array should be made available for retrieval. |
boolean |
getAutoRefetch()
Oracle extension. |
java.sql.Connection |
getConnection()
JDBC 2.0 Returns the Connection object
that produced this Statement object. |
short |
getDBTypeForm(int index)
|
int |
getFetchDirection()
JDBC 2.0 Retrieves the direction for fetching rows from database tables that is the default for result sets generated from this Statement object. |
int |
getFetchSize()
JDBC 2.0 Retrieves the number of result set rows that is the default fetch size for result sets generated from this Statement object. |
boolean |
getFixedString()
Returns the current setObject(string) behavior for this Statement. By default, a call to PreparedStatement.setObject() with a String will bind the string using Types.VARCHAR, which will use non blank-padded character comparison semantics. |
java.sql.ResultSet |
getGeneratedKeys()
JDBC 3.0 Retrieves any auto-generated keys created as a result of executing this Statement object. |
int |
getMaxFieldSize()
|
int |
getMaxRows()
|
boolean |
getMoreResults()
We only have one result and there no way to indicate it. |
boolean |
getMoreResults(int current)
JDBC 3.0 Moves to this Statement object's next result, deals with
any current ResultSet object(s) according to the instructions
specified by the given flag, and returns
true if the next result is a ResultSet object. |
int |
getQueryTimeout()
The queryTimeout limit is the number of seconds the driver will wait for a Statement to execute. |
java.sql.ResultSet |
getResultSet()
Allocate a result set. |
int |
getResultSetConcurrency()
JDBC 2.0 Retrieves the result set concurrency. |
int |
getResultSetHoldability()
JDBC 3.0 Retrieves the result set holdability for ResultSet objects
generated by this Statement object. |
int |
getResultSetType()
JDBC 2.0 Determine the result set type. |
int |
getRowPrefetch()
Allows the user to retrieve the prefetch value for all results sets created from this statement. |
byte |
getSqlKind()
Return the statement kind. |
int |
getUpdateCount()
|
java.sql.SQLWarning |
getWarnings()
We do not have any statement-level warnings |
boolean |
is_value_null(boolean getColumn,
int index)
This is public only so that the Jolt server can get to it. |
boolean |
isNCHAR(int index)
isNCHAR (int) |
int |
sendBatch()
Void entrypoint so that we do not have to cast statements to OraclePreparedStatements when sending the batch |
void |
setAutoRefetch(boolean autoRefetch)
Oracle extension. |
void |
setCursorName(java.lang.String name)
We do not support that |
void |
setEscapeProcessing(boolean enable)
|
void |
setFetchDirection(int direction)
JDBC 2.0 Gives the driver a hint as to the direction in which the rows in a result set will be processed. |
void |
setFetchSize(int rows)
JDBC 2.0 Gives the JDBC driver a hint as to the number of rows that should be fetched from the database when more rows are needed. |
void |
setFixedString(boolean fixedString_value)
Changes the default setObject(string) behavior for this Statement. By default, a call to PreparedStatement.setObject() with a String will bind the string using Types.VARCHAR, which will use non blank-padded character comparison semantics. |
void |
setMaxFieldSize(int max)
|
void |
setMaxRows(int max)
|
void |
setQueryTimeout(int max)
The queryTimeout limit is the number of seconds the driver will wait for a Statement to execute. |
void |
setResultSetCache(OracleResultSetCache cache)
Oracle Extenstion Override the default result set cache. |
void |
setResultSetCache(OracleResultSetCache cache)
Oracle Extenstion Override the default result set cache. |
void |
setRowPrefetch(int value)
setRowPrefetch allows the user to set the row prefetch value for all result sets created from this statement. setRowPrefetch overrides the prefetch value set from the connection, for this particular statement. The row_prefetch will be turned back to 1 automatically by the driver if any of the select-column types is streaming (long data or long raw data). |
Field Detail |
public oracle.jdbc.driver.DBDataSet defines
public oracle.jdbc.driver.DBStatement dbstmt
public boolean closed
public boolean columns_defined_by_user
public int auto_rollback
public int wait_option
Method Detail |
public java.sql.ResultSet executeQuery(java.lang.String sql) throws java.sql.SQLException
sql
- SQL statement to be executed. The query is transformed
into native SQL.public void closeWithKey(java.lang.String key) throws java.sql.SQLException
public void close() throws java.sql.SQLException
public int executeUpdate(java.lang.String sql) throws java.sql.SQLException
sql
- SQL statement to be executed. The query is transformed
into native SQL.public boolean execute(java.lang.String sql) throws java.sql.SQLException
sql
- SQL statement to be executed.public byte getSqlKind()
public void clearDefines() throws java.sql.SQLException
This is useful if the user wishes to re-use a statement for a different query.
After calling clearDefines, the user can either perform defines by calling defineColumnType/defineColumnTypeChars or let the driver use the default defines for the table.
To use the clearDefines
entrypoint you have to
cast the Statement object to the type
oracle.jdbc.driver.OracleStatement
.
public void defineColumnType(int column_index, int type) throws java.sql.SQLException
If you decide to define column types you have to declare the types of exactly all columns in the Query. If definition are missing or too many definitions are provided executeQuery will fail with a SQLException.
To use the defineColumnType
entrypoint you have to
cast the Statement object to the type
oracle.jdbc.driver.OracleStatement
.
column_index
- Index of columntype
- Type to be assigned to column
This type could be different from the
native type of the column. Appropriate
conversions will be done. A subsequent
call to getObject() for this column will
return the supplied type rather than the
native type, however.public void defineColumnType(int column_index, int type, int max_size) throws java.sql.SQLException
public void defineColumnTypeBytes(int column_index, int type, int max_size) throws java.sql.SQLException
void defineColumnType (int column_index,
int type)
before executing a Query you may choose to inform
JDBC of the type you will use for fetching data from columns and the
maximum length of data you desire. Each type of data has a default
maximum length. This API is useful if you do not wish to get the
full default length of data.
The actual maximum length of data returned
will be the minimum of the following values:
Similar to the other "define" API, to use the
defineColumnType
entrypoint you have to
cast the Statement object to the type
oracle.jdbc.driver.OracleStatement
.
column_index
- Index of columntype
- Type to be assigned to column
This type could be different from the
native type of the column. Appropriate
conversions will be done. A subsequent
call to getObject() for this column will
return the supplied type rather than the
native type, however.max_size
- Maximum length of data that the user
wants for this column. This value is
specified in bytes, not characters.
To specify the maximum length in characters,
use the defineColumnTypeChars
entrypoint.public void defineColumnTypeChars(int column_index, int type, int max_size) throws java.sql.SQLException
defineColumnType
.void defineColumnType (int column_index,
int type)
before executing a Query you may choose to inform
JDBC of the type you will use for fetching data from columns and the
maximum length of data you desire. Each type of data has a default
maximum length. This API is useful if you do not wish to get the
full default length of data.
The actual maximum length of data returned
will be the minimum of the following values:
Similar to the other "define" API, to use the
defineColumnTypeChars
entrypoint you have to
cast the Statement object to the type
oracle.jdbc.driver.OracleStatement
.
column_index
- Index of columntype
- Type to be assigned to column
This type could be different from the
native type of the column. Appropriate
conversions will be done.max_size
- Maximum length of data that the user
wants for this column. This value is
specified in characters, not bytes.
To specify the maximum length in bytes,
use the defineColumnType
entrypoint.public void defineColumnType(int column_index, int typeCode, java.lang.String typeName) throws java.sql.SQLException
If you decide to define column types you have to declare the types of exactly all columns in the Query. If definition are missing or too many definitions are provided executeQuery will fail with a SQLException.
To use the defineColumnType
entrypoint you have to
cast the Statement object to the type
oracle.jdbc.driver.OracleStatement
.
column_index
- Index of columntypeCode
- Type code for this column.typeName
- specifies the fully-qualified name of the
column if typeCode is OracleTypes.REF_TYPE
or OracleTypes.STRUCT or OracleTypes.ARRAY.
This parameter is ignored for other type
codes.public void setRowPrefetch(int value) throws java.sql.SQLException
setRowPrefetch overrides the prefetch value set from the connection, for this particular statement.
The row_prefetch will be turned back to 1 automatically by the driver if any of the select-column types is streaming (long data or long raw data). This is overrides any value the user might set. Also, this will be done regardless of wether the streaming columns are read or not.
To use the setRowPrefetch
entrypoint you have to
cast the Statement object to the type
oracle.jdbc.driver.OracleStatement
.
public int getRowPrefetch()
To use the getRowPrefetch
entrypoint you have to
cast the Statement object to the type
oracle.jdbc.driver.OracleStatement
.
public void setFixedString(boolean fixedString_value)
By default, a call to PreparedStatement.setObject() with a String will bind the string using Types.VARCHAR, which will use non blank-padded character comparison semantics. This is in accordance with the JDBC specification.
This behavior can be changed for this Statement by passing false to setFixedString().
fixedString
- If true, then setObject(x, String) calls will bind
with Types.FIXED_CHAR rather than Types.VARCHAR, which
will result in blank-padded character comparison
semantics.getFixedString
public boolean getFixedString()
By default, a call to PreparedStatement.setObject() with a String will bind the string using Types.VARCHAR, which will use non blank-padded character comparison semantics. This is in accordance with the JDBC specification.
This behavior can be changed for this Statement by passing false to setFixedString().
setFixedString
public int getMaxFieldSize() throws java.sql.SQLException
public void setMaxFieldSize(int max) throws java.sql.SQLException
public int getMaxRows() throws java.sql.SQLException
public void setMaxRows(int max) throws java.sql.SQLException
public void setEscapeProcessing(boolean enable) throws java.sql.SQLException
public int getQueryTimeout() throws java.sql.SQLException
public void setQueryTimeout(int max) throws java.sql.SQLException
seconds
- the new query timeout limit in seconds; zero means unlimit
edpublic void cancel() throws java.sql.SQLException
public java.sql.SQLWarning getWarnings() throws java.sql.SQLException
public void clearWarnings() throws java.sql.SQLException
public void setCursorName(java.lang.String name) throws java.sql.SQLException
public java.sql.ResultSet getResultSet() throws java.sql.SQLException
public int getUpdateCount() throws java.sql.SQLException
public boolean getMoreResults() throws java.sql.SQLException
public int sendBatch() throws java.sql.SQLException
public short getDBTypeForm(int index)
public boolean is_value_null(boolean getColumn, int index) throws java.sql.SQLException
public void setFetchDirection(int direction) throws java.sql.SQLException
direction
- the initial direction for processing rowspublic int getFetchDirection() throws java.sql.SQLException
Statement
object.
Since Oracle database only supports forward only cursor.
This method always return FETCH_FORWARD.Statement
objectpublic void setFetchSize(int rows) throws java.sql.SQLException
rows
- the number of rows to fetchpublic int getFetchSize() throws java.sql.SQLException
Statement
object.
If this Statement
object has not set
a fetch size by calling the method setFetchSize
,
the return value is the connection default prefetch size.Statement
objectpublic int getResultSetConcurrency() throws java.sql.SQLException
public int getResultSetType() throws java.sql.SQLException
public java.sql.Connection getConnection() throws java.sql.SQLException
Connection
object
that produced this Statement
object.public void setResultSetCache(OracleResultSetCache cache) throws java.sql.SQLException
cache
- is a OracleResultSetCache instancepublic void setResultSetCache(OracleResultSetCache cache) throws java.sql.SQLException
cache
- is a OracleResultSetCache instancepublic void addBatch(java.lang.String sql) throws java.sql.SQLException
sql
- typically this is a static SQL INSERT or UPDATE
statement.public void clearBatch() throws java.sql.SQLException
public int[] executeBatch() throws java.sql.SQLException
Commands are executed in the order in which they were added to the batch. This method closes the calling Statement object's current set if one is open. The statement's internal list of batch commands is reset to empty once this method returns.
public void setAutoRefetch(boolean autoRefetch) throws java.sql.SQLException
autoRefetch
- true enables auto-refetch; false disables auto-refetch.OracleConnection.setDefaultAutoRefetch(boolean)
,
OracleResultSet.setAutoRefetch(boolean)
public boolean getAutoRefetch() throws java.sql.SQLException
setAutoRefetch(boolean)
public boolean isNCHAR(int index) throws java.sql.SQLException
index
- the column indexpublic boolean getMoreResults(int current) throws java.sql.SQLException
Statement
object's next result, deals with
any current ResultSet
object(s) according to the instructions
specified by the given flag, and returns
true
if the next result is a ResultSet
object.
There are no more results when the following is true:
(!getMoreResults() && (getUpdateCount() == -1)
current
- one of the following Statement
constants indicating what should happen to current
ResultSet
objects obtained using the method
getResultSetCLOSE_CURRENT_RESULT
,
KEEP_CURRENT_RESULT
, or
CLOSE_ALL_RESULTS
true
if the next result is a ResultSet
object; false
if it is an update count or there are no
more resultsexecute(java.lang.String)
public java.sql.ResultSet getGeneratedKeys() throws java.sql.SQLException
Statement
object. If this Statement
object did
not generate any keys, an empty ResultSet
object is returned.ResultSet
object containing the auto-generated key(s)
generated by the execution of this Statement
objectpublic int executeUpdate(java.lang.String sql, int autoGeneratedKeys) throws java.sql.SQLException
Statement
object
should be made available for retrieval.sql
- must be an SQL INSERT
, UPDATE
or
DELETE
statement or an SQL statement that
returns nothingautoGeneratedKeys
- a flag indicating whether auto-generated keys
should be made available for retrieval;
one of the following constants:
Statement.RETURN_GENERATED_KEYS
Statement.NO_GENERATED_KEYS
INSERT
, UPDATE
or DELETE
statements, or 0
for SQL
statements that return nothingResultSet
object, or
the given constant is not one of those allowedpublic int executeUpdate(java.lang.String sql, int[] columnIndexes) throws java.sql.SQLException
INSERT
statement.sql
- an SQL INSERT
, UPDATE
or
DELETE
statement or an SQL statement that returns nothing,
such as an SQL DDL statementcolumnIndexes
- an array of column indexes indicating the columns
that should be returned from the inserted rowINSERT
, UPDATE
,
or DELETE
statements, or 0 for SQL statements
that return nothingResultSet
objectpublic int executeUpdate(java.lang.String sql, java.lang.String[] columnNames) throws java.sql.SQLException
INSERT
statement.sql
- an SQL INSERT
, UPDATE
or
DELETE
statement or an SQL statement that returns nothingcolumnNames
- an array of the names of the columns that should be
returned from the inserted rowINSERT
, UPDATE
,
or DELETE
statements, or 0 for SQL statements
that return nothingpublic boolean execute(java.lang.String sql, int autoGeneratedKeys) throws java.sql.SQLException
INSERT
statement.
In some (uncommon) situations, a single SQL statement may return multiple result sets and/or update counts. Normally you can ignore this unless you are (1) executing a stored procedure that you know may return multiple results or (2) you are dynamically executing an unknown SQL string.
The execute
method executes an SQL statement and indicates the
form of the first result. You must then use the methods
getResultSet
or getUpdateCount
to retrieve the result, and getMoreResults
to
move to any subsequent result(s).
sql
- any SQL statementautoGeneratedKeys
- a constant indicating whether auto-generated
keys should be made available for retrieval using the method
getGeneratedKeys
; one of the following constants:
Statement.RETURN_GENERATED_KEYS
or
Statement.NO_GENERATED_KEYS
true
if the first result is a ResultSet
object; false
if it is an update count or there are
no resultsgetResultSet()
,
getUpdateCount()
,
getMoreResults()
,
getGeneratedKeys()
public boolean execute(java.lang.String sql, int[] columnIndexes) throws java.sql.SQLException
INSERT
statement.
Under some (uncommon) situations, a single SQL statement may return multiple result sets and/or update counts. Normally you can ignore this unless you are (1) executing a stored procedure that you know may return multiple results or (2) you are dynamically executing an unknown SQL string.
The execute
method executes an SQL statement and indicates the
form of the first result. You must then use the methods
getResultSet
or getUpdateCount
to retrieve the result, and getMoreResults
to
move to any subsequent result(s).
sql
- any SQL statementcolumnIndexes
- an array of the indexes of the columns in the
inserted row that should be made available for retrieval by a
call to the method getGeneratedKeys
true
if the first result is a ResultSet
object; false
if it is an update count or there
are no resultsgetResultSet()
,
getUpdateCount()
,
getMoreResults()
public boolean execute(java.lang.String sql, java.lang.String[] columnNames) throws java.sql.SQLException
INSERT
statement.
In some (uncommon) situations, a single SQL statement may return multiple result sets and/or update counts. Normally you can ignore this unless you are (1) executing a stored procedure that you know may return multiple results or (2) you are dynamically executing an unknown SQL string.
The execute
method executes an SQL statement and indicates the
form of the first result. You must then use the methods
getResultSet
or getUpdateCount
to retrieve the result, and getMoreResults
to
move to any subsequent result(s).
sql
- any SQL statementcolumnNames
- an array of the names of the columns in the inserted
row that should be made available for retrieval by a call to the
method getGeneratedKeys
true
if the next result is a ResultSet
object; false
if it is an update count or there
are no more resultsgetResultSet()
,
getUpdateCount()
,
getMoreResults()
,
getGeneratedKeys()
public int getResultSetHoldability() throws java.sql.SQLException
ResultSet
objects
generated by this Statement
object.ResultSet.HOLD_CURSORS_OVER_COMMIT
or
ResultSet.CLOSE_CURSORS_AT_COMMIT
|
|||||||||
PREV CLASS NEXT CLASS | FRAMES NO FRAMES | ||||||||
SUMMARY: INNER | FIELD | CONSTR | METHOD | DETAIL: FIELD | CONSTR | METHOD |