Package com.google.cloud.spanner
Class Statement
java.lang.Object
com.google.cloud.spanner.Statement
- All Implemented Interfaces:
Serializable
A SQL statement and optional bound parameters that can be executed in a
ReadContext
.
The SQL query string can contain parameter placeholders. A parameter placeholder consists of @ followed by the parameter name. Parameter names consist of any combination of letters, numbers, and underscores.
Parameters can appear anywhere that a literal value is expected. The same parameter name can
be used more than once, for example: WHERE id > @msg_id AND id < @msg_id + 100
It is an error to execute an SQL query with placeholders for unbound parameters.
Statements are constructed using a builder. Parameter values are specified by calling Statement.Builder.bind(String)
. For example, code to build a query using the clause above and bind a value
to id
might look like the following:
Statement statement = Statement
.newBuilder("SELECT name WHERE id > @msg_id AND id < @msg_id + 100")
.bind("msg_id").to(500)
.build();
Statement
instances are immutable.
- See Also:
-
Nested Class Summary
-
Method Summary
Modifier and TypeMethodDescriptionanalyzeQuery
(ReadContext context, ReadContext.QueryAnalyzeMode queryMode) Analyzes the query incontext
.boolean
executeQuery
(ReadContext context, Options.QueryOption... options) Executes the query incontext
.Returns the parameters bound to thisStatement
.Returns theExecuteSqlRequest.QueryOptions
that will be used with thisStatement
.getSql()
Returns the current SQL statement text.boolean
hasBinding
(String parameter) Returnstrue
if a binding exists forparameter
.int
hashCode()
static Statement.Builder
newBuilder
(String sql) Creates a new statement builder with the SQL textsql
.static Statement
Creates aStatement
with the given SQL textsql
.toString()
-
Method Details
-
of
Creates aStatement
with the given SQL textsql
. -
newBuilder
Creates a new statement builder with the SQL textsql
. -
hasBinding
Returnstrue
if a binding exists forparameter
. -
executeQuery
Executes the query incontext
.statement.executeQuery(context)
is exactly equivalent tocontext.executeQuery(statement)
. -
analyzeQuery
Analyzes the query incontext
.statement.analyzeQuery(context, queryMode)
is exactly equivalent tocontext.analyzeQuery(statement, queryMode)
. -
getSql
Returns the current SQL statement text. -
getQueryOptions
Returns theExecuteSqlRequest.QueryOptions
that will be used with thisStatement
. -
getParameters
Returns the parameters bound to thisStatement
. -
toBuilder
-
toString
-
equals
-
hashCode
public int hashCode()
-