|
|||||||||
| 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.getFixedStringpublic 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
ed
public 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 rows
public int getFetchDirection()
throws java.sql.SQLException
Statement object.
Since Oracle database only supports forward only cursor.
This method always return FETCH_FORWARD.Statement object
public void setFetchSize(int rows)
throws java.sql.SQLException
rows - the number of rows to fetch
public 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 object
public 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 instance
public void setResultSetCache(OracleResultSetCache cache)
throws java.sql.SQLException
cache - is a OracleResultSetCache instance
public 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 index
public 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_RESULTStrue 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 object
public 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_KEYSINSERT, UPDATE
or DELETE statements, or 0 for SQL
statements that return nothingResultSet object, or
the given constant is not one of those allowed
public 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 object
public 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 nothing
public 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_KEYStrue 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 getGeneratedKeystrue 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 getGeneratedKeystrue 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 | ||||||||