(::Google::Protobuf::Map{::String => ::Google::Cloud::Spanner::V1::Type}) — It is not always possible for Cloud Spanner to infer the right SQL type
from a JSON value. For example, values of type BYTES and values
of type STRING both appear in
params as
JSON strings.
In these cases, param_types can be used to specify the exact
SQL type for some or all of the SQL statement parameters. See the
definition of Type for more information
about SQL types.
value (::Google::Protobuf::Map{::String => ::Google::Cloud::Spanner::V1::Type}) — It is not always possible for Cloud Spanner to infer the right SQL type
from a JSON value. For example, values of type BYTES and values
of type STRING both appear in
params as
JSON strings.
In these cases, param_types can be used to specify the exact
SQL type for some or all of the SQL statement parameters. See the
definition of Type for more information
about SQL types.
Returns
(::Google::Protobuf::Map{::String => ::Google::Cloud::Spanner::V1::Type}) — It is not always possible for Cloud Spanner to infer the right SQL type
from a JSON value. For example, values of type BYTES and values
of type STRING both appear in
params as
JSON strings.
In these cases, param_types can be used to specify the exact
SQL type for some or all of the SQL statement parameters. See the
definition of Type for more information
about SQL types.
A parameter placeholder consists of the @ character followed by the
parameter name (for example, @firstName). Parameter names can contain
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 a SQL statement with unbound parameters.
#params=
defparams=(value)->::Google::Protobuf::Struct
Parameter
value (::Google::Protobuf::Struct) — Parameter names and values that bind to placeholders in the DML string.
A parameter placeholder consists of the @ character followed by the
parameter name (for example, @firstName). Parameter names can contain
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 a SQL statement with unbound parameters.
A parameter placeholder consists of the @ character followed by the
parameter name (for example, @firstName). Parameter names can contain
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 a SQL statement with unbound parameters.
[[["Easy to understand","easyToUnderstand","thumb-up"],["Solved my problem","solvedMyProblem","thumb-up"],["Other","otherUp","thumb-up"]],[["Hard to understand","hardToUnderstand","thumb-down"],["Incorrect information or sample code","incorrectInformationOrSampleCode","thumb-down"],["Missing the information/samples I need","missingTheInformationSamplesINeed","thumb-down"],["Other","otherDown","thumb-down"]],["Last updated 2025-08-28 UTC."],[],[],null,["# Cloud Spanner V1 API - Class Google::Cloud::Spanner::V1::ExecuteBatchDmlRequest::Statement (v1.10.0)\n\nVersion latestkeyboard_arrow_down\n\n- [1.10.0 (latest)](/ruby/docs/reference/google-cloud-spanner-v1/latest/Google-Cloud-Spanner-V1-ExecuteBatchDmlRequest-Statement)\n- [1.9.1](/ruby/docs/reference/google-cloud-spanner-v1/1.9.1/Google-Cloud-Spanner-V1-ExecuteBatchDmlRequest-Statement)\n- [1.8.0](/ruby/docs/reference/google-cloud-spanner-v1/1.8.0/Google-Cloud-Spanner-V1-ExecuteBatchDmlRequest-Statement)\n- [1.7.1](/ruby/docs/reference/google-cloud-spanner-v1/1.7.1/Google-Cloud-Spanner-V1-ExecuteBatchDmlRequest-Statement)\n- [1.6.0](/ruby/docs/reference/google-cloud-spanner-v1/1.6.0/Google-Cloud-Spanner-V1-ExecuteBatchDmlRequest-Statement)\n- [1.5.0](/ruby/docs/reference/google-cloud-spanner-v1/1.5.0/Google-Cloud-Spanner-V1-ExecuteBatchDmlRequest-Statement)\n- [1.4.0](/ruby/docs/reference/google-cloud-spanner-v1/1.4.0/Google-Cloud-Spanner-V1-ExecuteBatchDmlRequest-Statement)\n- [1.3.0](/ruby/docs/reference/google-cloud-spanner-v1/1.3.0/Google-Cloud-Spanner-V1-ExecuteBatchDmlRequest-Statement)\n- [1.2.0](/ruby/docs/reference/google-cloud-spanner-v1/1.2.0/Google-Cloud-Spanner-V1-ExecuteBatchDmlRequest-Statement)\n- [1.1.0](/ruby/docs/reference/google-cloud-spanner-v1/1.1.0/Google-Cloud-Spanner-V1-ExecuteBatchDmlRequest-Statement)\n- [1.0.2](/ruby/docs/reference/google-cloud-spanner-v1/1.0.2/Google-Cloud-Spanner-V1-ExecuteBatchDmlRequest-Statement)\n- [0.27.0](/ruby/docs/reference/google-cloud-spanner-v1/0.27.0/Google-Cloud-Spanner-V1-ExecuteBatchDmlRequest-Statement)\n- [0.26.0](/ruby/docs/reference/google-cloud-spanner-v1/0.26.0/Google-Cloud-Spanner-V1-ExecuteBatchDmlRequest-Statement)\n- [0.25.0](/ruby/docs/reference/google-cloud-spanner-v1/0.25.0/Google-Cloud-Spanner-V1-ExecuteBatchDmlRequest-Statement)\n- [0.24.0](/ruby/docs/reference/google-cloud-spanner-v1/0.24.0/Google-Cloud-Spanner-V1-ExecuteBatchDmlRequest-Statement)\n- [0.23.0](/ruby/docs/reference/google-cloud-spanner-v1/0.23.0/Google-Cloud-Spanner-V1-ExecuteBatchDmlRequest-Statement)\n- [0.22.2](/ruby/docs/reference/google-cloud-spanner-v1/0.22.2/Google-Cloud-Spanner-V1-ExecuteBatchDmlRequest-Statement)\n- [0.21.0](/ruby/docs/reference/google-cloud-spanner-v1/0.21.0/Google-Cloud-Spanner-V1-ExecuteBatchDmlRequest-Statement)\n- [0.20.1](/ruby/docs/reference/google-cloud-spanner-v1/0.20.1/Google-Cloud-Spanner-V1-ExecuteBatchDmlRequest-Statement)\n- [0.19.0](/ruby/docs/reference/google-cloud-spanner-v1/0.19.0/Google-Cloud-Spanner-V1-ExecuteBatchDmlRequest-Statement)\n- [0.18.0](/ruby/docs/reference/google-cloud-spanner-v1/0.18.0/Google-Cloud-Spanner-V1-ExecuteBatchDmlRequest-Statement)\n- [0.17.0](/ruby/docs/reference/google-cloud-spanner-v1/0.17.0/Google-Cloud-Spanner-V1-ExecuteBatchDmlRequest-Statement)\n- [0.16.0](/ruby/docs/reference/google-cloud-spanner-v1/0.16.0/Google-Cloud-Spanner-V1-ExecuteBatchDmlRequest-Statement)\n- [0.15.1](/ruby/docs/reference/google-cloud-spanner-v1/0.15.1/Google-Cloud-Spanner-V1-ExecuteBatchDmlRequest-Statement)\n- [0.14.1](/ruby/docs/reference/google-cloud-spanner-v1/0.14.1/Google-Cloud-Spanner-V1-ExecuteBatchDmlRequest-Statement)\n- [0.13.0](/ruby/docs/reference/google-cloud-spanner-v1/0.13.0/Google-Cloud-Spanner-V1-ExecuteBatchDmlRequest-Statement)\n- [0.12.0](/ruby/docs/reference/google-cloud-spanner-v1/0.12.0/Google-Cloud-Spanner-V1-ExecuteBatchDmlRequest-Statement)\n- [0.11.0](/ruby/docs/reference/google-cloud-spanner-v1/0.11.0/Google-Cloud-Spanner-V1-ExecuteBatchDmlRequest-Statement)\n- [0.10.0](/ruby/docs/reference/google-cloud-spanner-v1/0.10.0/Google-Cloud-Spanner-V1-ExecuteBatchDmlRequest-Statement)\n- [0.9.0](/ruby/docs/reference/google-cloud-spanner-v1/0.9.0/Google-Cloud-Spanner-V1-ExecuteBatchDmlRequest-Statement)\n- [0.8.1](/ruby/docs/reference/google-cloud-spanner-v1/0.8.1/Google-Cloud-Spanner-V1-ExecuteBatchDmlRequest-Statement)\n- [0.7.4](/ruby/docs/reference/google-cloud-spanner-v1/0.7.4/Google-Cloud-Spanner-V1-ExecuteBatchDmlRequest-Statement) \nReference documentation and code samples for the Cloud Spanner V1 API class Google::Cloud::Spanner::V1::ExecuteBatchDmlRequest::Statement.\n\nA single DML statement. \n\nInherits\n--------\n\n- Object \n\nExtended By\n-----------\n\n- Google::Protobuf::MessageExts::ClassMethods \n\nIncludes\n--------\n\n- Google::Protobuf::MessageExts\n\nMethods\n-------\n\n### #param_types\n\n def param_types() -\u003e ::Google::Protobuf::Map{::String =\u003e ::Google::Cloud::Spanner::V1::Type}\n\n**Returns**\n\n- (::Google::Protobuf::Map{::String =\\\u003e ::Google::Cloud::Spanner::V1::Type}) --- It is not always possible for Cloud Spanner to infer the right SQL type from a JSON value. For example, values of type `BYTES` and values of type `STRING` both appear in [params](/ruby/docs/reference/google-cloud-spanner-v1/latest/Google-Cloud-Spanner-V1-ExecuteBatchDmlRequest-Statement#Google__Cloud__Spanner__V1__ExecuteBatchDmlRequest__Statement_params_instance_ \"Google::Cloud::Spanner::V1::ExecuteBatchDmlRequest::Statement#params (method)\") as JSON strings.\n\n\n In these cases, `param_types` can be used to specify the exact\n SQL type for some or all of the SQL statement parameters. See the\n definition of [Type](/ruby/docs/reference/google-cloud-spanner-v1/latest/Google-Cloud-Spanner-V1-Type \"Google::Cloud::Spanner::V1::Type (class)\") for more information\n about SQL types.\n\n### #param_types=\n\n def param_types=(value) -\u003e ::Google::Protobuf::Map{::String =\u003e ::Google::Cloud::Spanner::V1::Type}\n\n**Parameter**\n\n- **value** (::Google::Protobuf::Map{::String =\\\u003e ::Google::Cloud::Spanner::V1::Type}) --- It is not always possible for Cloud Spanner to infer the right SQL type from a JSON value. For example, values of type `BYTES` and values of type `STRING` both appear in [params](/ruby/docs/reference/google-cloud-spanner-v1/latest/Google-Cloud-Spanner-V1-ExecuteBatchDmlRequest-Statement#Google__Cloud__Spanner__V1__ExecuteBatchDmlRequest__Statement_params_instance_ \"Google::Cloud::Spanner::V1::ExecuteBatchDmlRequest::Statement#params (method)\") as JSON strings.\n\n\n In these cases, `param_types` can be used to specify the exact\n SQL type for some or all of the SQL statement parameters. See the\n definition of [Type](/ruby/docs/reference/google-cloud-spanner-v1/latest/Google-Cloud-Spanner-V1-Type \"Google::Cloud::Spanner::V1::Type (class)\") for more information\nabout SQL types. \n**Returns**\n\n- (::Google::Protobuf::Map{::String =\\\u003e ::Google::Cloud::Spanner::V1::Type}) --- It is not always possible for Cloud Spanner to infer the right SQL type from a JSON value. For example, values of type `BYTES` and values of type `STRING` both appear in [params](/ruby/docs/reference/google-cloud-spanner-v1/latest/Google-Cloud-Spanner-V1-ExecuteBatchDmlRequest-Statement#Google__Cloud__Spanner__V1__ExecuteBatchDmlRequest__Statement_params_instance_ \"Google::Cloud::Spanner::V1::ExecuteBatchDmlRequest::Statement#params (method)\") as JSON strings.\n\n\n In these cases, `param_types` can be used to specify the exact\n SQL type for some or all of the SQL statement parameters. See the\n definition of [Type](/ruby/docs/reference/google-cloud-spanner-v1/latest/Google-Cloud-Spanner-V1-Type \"Google::Cloud::Spanner::V1::Type (class)\") for more information\n about SQL types.\n\n### #params\n\n def params() -\u003e ::Google::Protobuf::Struct\n\n**Returns**\n\n- ([::Google::Protobuf::Struct](./Google-Protobuf-Struct)) --- Parameter names and values that bind to placeholders in the DML string.\n\n\n A parameter placeholder consists of the `@` character followed by the\n parameter name (for example, `@firstName`). Parameter names can contain\n letters, numbers, and underscores.\n\n Parameters can appear anywhere that a literal value is expected. The\n same parameter name can be used more than once, for example:\n\n `\"WHERE id \u003e @msg_id AND id \u003c @msg_id + 100\"`\n\n It is an error to execute a SQL statement with unbound parameters.\n\n### #params=\n\n def params=(value) -\u003e ::Google::Protobuf::Struct\n\n**Parameter**\n\n- **value** ([::Google::Protobuf::Struct](./Google-Protobuf-Struct)) --- Parameter names and values that bind to placeholders in the DML string.\n\n\n A parameter placeholder consists of the `@` character followed by the\n parameter name (for example, `@firstName`). Parameter names can contain\n letters, numbers, and underscores.\n\n Parameters can appear anywhere that a literal value is expected. The\n same parameter name can be used more than once, for example:\n\n `\"WHERE id \u003e @msg_id AND id \u003c @msg_id + 100\"`\n\nIt is an error to execute a SQL statement with unbound parameters. \n**Returns**\n\n- ([::Google::Protobuf::Struct](./Google-Protobuf-Struct)) --- Parameter names and values that bind to placeholders in the DML string.\n\n\n A parameter placeholder consists of the `@` character followed by the\n parameter name (for example, `@firstName`). Parameter names can contain\n letters, numbers, and underscores.\n\n Parameters can appear anywhere that a literal value is expected. The\n same parameter name can be used more than once, for example:\n\n `\"WHERE id \u003e @msg_id AND id \u003c @msg_id + 100\"`\n\n It is an error to execute a SQL statement with unbound parameters.\n\n### #sql\n\n def sql() -\u003e ::String\n\n**Returns**\n\n- (::String) --- Required. The DML string.\n\n### #sql=\n\n def sql=(value) -\u003e ::String\n\n**Parameter**\n\n- **value** (::String) --- Required. The DML string. \n**Returns**\n\n- (::String) --- Required. The DML string."]]