Interface BoundStatement
-
- All Superinterfaces:
PreparedStatement
,Statement
public interface BoundStatement extends PreparedStatement
Represents a
Statement
that has been compiled and an execution plan generated for it. A BoundStatement must be used when the Statement is a DML statement that contains external variables. It provides methods to bind the external variables to specific values.To create an instance of a BoundStatement, an instance of a
PreparedStatement
must be created first, which is done via theKVStore.prepare(String statement)
method. Next, one or more BoundStatement instances can be created from the same PreparedStatement via themethod
. Creating multiple BoundStatements from the same PreparedStatement allows for the potentially concurrent execution of the PreparedStatement multiple times with different bind values each time.Like a PreparedStatement, a BoundStatement can be executed multiple times via one of the KVStore.execute methods (for example,
KVStore.execute(String statement, ExecuteOptions options)
orKVStore.executeSync(Statement statement, ExecuteOptions options)
). All the external variables must be bound before execution is initiated.Objects implementing the PreparedStatement interface are thread-safe and their methods are re-entrant. On the other hand, BoundStatement instances are not thread-safe.
FieldValueFactory
to create values for complex types.- Since:
- 4.0
-
-
Method Summary
All Methods Instance Methods Abstract Methods Modifier and Type Method Description Map<String,FieldValue>
getVariables()
Returns the map of bound variables.BoundStatement
setVariable(String variableName, boolean value)
Sets the value of a variable.BoundStatement
setVariable(String variableName, byte[] value)
Sets the value of a variable.BoundStatement
setVariable(String variableName, double value)
Sets the value of a variable.BoundStatement
setVariable(String variableName, float value)
Sets the value of a variable.BoundStatement
setVariable(String variableName, int value)
Sets the value of a variable.BoundStatement
setVariable(String variableName, long value)
Sets the value of a variable.BoundStatement
setVariable(String variableName, String value)
Sets the value of a variable.BoundStatement
setVariable(String variableName, FieldValue value)
Sets the value of a variable.-
Methods inherited from interface oracle.kv.query.PreparedStatement
createBoundStatement, getResultDef, getVariableType, getVariableTypes
-
-
-
-
Method Detail
-
getVariables
Map<String,FieldValue> getVariables()
Returns the map of bound variables.- Returns:
- a map of variables that have been set.
-
setVariable
BoundStatement setVariable(String variableName, FieldValue value)
Sets the value of a variable.- Parameters:
variableName
- the name of the query variablevalue
- the value to be set- Returns:
- the same object
- Throws:
IllegalArgumentException
- if the variable does not appear in the query or the type of value doesn't match the type of the variable.
-
setVariable
BoundStatement setVariable(String variableName, int value)
Sets the value of a variable.- Parameters:
variableName
- the name of the query variablevalue
- the value to be set- Returns:
- the same object
- Throws:
IllegalArgumentException
- if the variable does not appear in the query or the type of value doesn't match the type of the variable.
-
setVariable
BoundStatement setVariable(String variableName, boolean value)
Sets the value of a variable.- Parameters:
variableName
- the name of the query variablevalue
- the value to be set- Returns:
- the same object
- Throws:
IllegalArgumentException
- if the variable does not appear in the query or the type of value doesn't match the type of the variable.
-
setVariable
BoundStatement setVariable(String variableName, double value)
Sets the value of a variable.- Parameters:
variableName
- the name of the query variablevalue
- the value to be set- Returns:
- the same object
- Throws:
IllegalArgumentException
- if the variable does not appear in the query or the type of value doesn't match the type of the variable.
-
setVariable
BoundStatement setVariable(String variableName, float value)
Sets the value of a variable.- Parameters:
variableName
- the name of the query variablevalue
- the value to be set- Returns:
- the same object
- Throws:
IllegalArgumentException
- if the variable does not appear in the query or the type of value doesn't match the type of the variable.
-
setVariable
BoundStatement setVariable(String variableName, long value)
Sets the value of a variable.- Parameters:
variableName
- the name of the query variablevalue
- the value to be set- Returns:
- the same object
- Throws:
IllegalArgumentException
- if the variable does not appear in the query or the type of value doesn't match the type of the variable.
-
setVariable
BoundStatement setVariable(String variableName, String value)
Sets the value of a variable.- Parameters:
variableName
- the name of the query variablevalue
- the value to be set- Returns:
- the same object
- Throws:
IllegalArgumentException
- if the variable does not appear in the query or the type of value doesn't match the type of the variable.
-
setVariable
BoundStatement setVariable(String variableName, byte[] value)
Sets the value of a variable.- Parameters:
variableName
- the name of the query variablevalue
- the value to be set- Returns:
- the same object
- Throws:
IllegalArgumentException
- if the variable does not appear in the query or the type of value doesn't match the type of the variable.
-
-