Send feedback
Method: googleapis.spanner.v1.projects.instances.databases.sessions.executeBatchDml
Stay organized with collections
Save and categorize content based on your preferences.
Executes a batch of SQL DML statements. This method allows many
statements to be run with lower latency than submitting them
sequentially with ExecuteSql. Statements are executed in sequential
order. A request can succeed even if a statement fails. The
ExecuteBatchDmlResponse.status field in the response provides
information about the statement that failed. Clients must inspect this
field to determine whether an error occurred. Execution stops after the
first failed statement; the remaining statements are not executed.
For more information about retries and long-running operations, see
Understand connectors .
Arguments
Parameters
session
string
Required. The session in which the DML statements should be performed.
body
object (ExecuteBatchDmlRequest )
Required.
Raised exceptions
Exceptions
ConnectionError
In case of a network problem (such as DNS failure or refused connection).
HttpError
If the response status is >= 400 (excluding 429 and 503).
TimeoutError
If a long-running operation takes longer to finish than the specified timeout limit.
TypeError
If an operation or function receives an argument of the wrong type.
ValueError
If an operation or function receives an argument of the right type but an inappropriate value. For example, a negative timeout.
Response
If successful, the response contains an instance of ExecuteBatchDmlResponse
.
Subworkflow snippet
Some fields might be optional or required.
To identify required fields, refer to the API documentation .
YAML
- executeBatchDml :
call : googleapis.spanner.v1.projects.instances.databases.sessions.executeBatchDml
args :
session : ...
body :
lastStatements : ...
requestOptions :
priority : ...
requestTag : ...
transactionTag : ...
seqno : ...
statements : ...
transaction :
begin :
excludeTxnFromChangeStreams : ...
isolationLevel : ...
partitionedDml : ...
readOnly :
exactStaleness : ...
maxStaleness : ...
minReadTimestamp : ...
readTimestamp : ...
returnReadTimestamp : ...
strong : ...
readWrite :
multiplexedSessionPreviousTransactionId : ...
readLockMode : ...
id : ...
singleUse : ...
result : executeBatchDmlResult
JSON
[
{
"executeBatchDml" : {
"call" : "googleapis.spanner.v1.projects.instances.databases.sessions.executeBatchDml" ,
"args" : {
"session" : "..." ,
"body" : {
"lastStatements" : "..." ,
"requestOptions" : {
"priority" : "..." ,
"requestTag" : "..." ,
"transactionTag" : "..."
},
"seqno" : "..." ,
"statements" : "..." ,
"transaction" : {
"begin" : {
"excludeTxnFromChangeStreams" : "..." ,
"isolationLevel" : "..." ,
"partitionedDml" : "..." ,
"readOnly" : {
"exactStaleness" : "..." ,
"maxStaleness" : "..." ,
"minReadTimestamp" : "..." ,
"readTimestamp" : "..." ,
"returnReadTimestamp" : "..." ,
"strong" : "..."
},
"readWrite" : {
"multiplexedSessionPreviousTransactionId" : "..." ,
"readLockMode" : "..."
}
},
"id" : "..." ,
"singleUse" : "..."
}
}
},
"result" : "executeBatchDmlResult"
}
}
]
Send feedback
Except as otherwise noted, the content of this page is licensed under the Creative Commons Attribution 4.0 License , and code samples are licensed under the Apache 2.0 License . For details, see the Google Developers Site Policies . Java is a registered trademark of Oracle and/or its affiliates.
Last updated 2025-08-28 UTC.
Need to tell us more?
[[["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,["# Method: googleapis.spanner.v1.projects.instances.databases.sessions.executeBatchDml\n\nExecutes a batch of SQL DML statements. This method allows many\nstatements to be run with lower latency than submitting them\nsequentially with ExecuteSql. Statements are executed in sequential\norder. A request can succeed even if a statement fails. The\nExecuteBatchDmlResponse.status field in the response provides\ninformation about the statement that failed. Clients must inspect this\nfield to determine whether an error occurred. Execution stops after the\nfirst failed statement; the remaining statements are not executed.\n\nFor more information about retries and long-running operations, see\n[Understand connectors]().\n\nArguments\n---------\n\nRaised exceptions\n-----------------\n\nResponse\n--------\n\nIf successful, the response contains an instance of [`ExecuteBatchDmlResponse`](https://cloud.google.com/workflows/docs/reference/googleapis/spanner/v1/Overview#ExecuteBatchDmlResponse).\n\nSubworkflow snippet\n-------------------\n\nSome fields might be optional or required.\nTo identify required fields, refer to the [API documentation](https://cloud.google.com/spanner/docs/reference/rest/v1/projects.instances.databases.sessions/executeBatchDml). \n\n### YAML\n\n```yaml\n- executeBatchDml:\n call: googleapis.spanner.v1.projects.instances.databases.sessions.executeBatchDml\n args:\n session: ...\n body:\n lastStatements: ...\n requestOptions:\n priority: ...\n requestTag: ...\n transactionTag: ...\n seqno: ...\n statements: ...\n transaction:\n begin:\n excludeTxnFromChangeStreams: ...\n isolationLevel: ...\n partitionedDml: ...\n readOnly:\n exactStaleness: ...\n maxStaleness: ...\n minReadTimestamp: ...\n readTimestamp: ...\n returnReadTimestamp: ...\n strong: ...\n readWrite:\n multiplexedSessionPreviousTransactionId: ...\n readLockMode: ...\n id: ...\n singleUse: ...\n result: executeBatchDmlResult\n```\n\n### JSON\n\n```json\n[\n {\n \"executeBatchDml\": {\n \"call\": \"googleapis.spanner.v1.projects.instances.databases.sessions.executeBatchDml\",\n \"args\": {\n \"session\": \"...\",\n \"body\": {\n \"lastStatements\": \"...\",\n \"requestOptions\": {\n \"priority\": \"...\",\n \"requestTag\": \"...\",\n \"transactionTag\": \"...\"\n },\n \"seqno\": \"...\",\n \"statements\": \"...\",\n \"transaction\": {\n \"begin\": {\n \"excludeTxnFromChangeStreams\": \"...\",\n \"isolationLevel\": \"...\",\n \"partitionedDml\": \"...\",\n \"readOnly\": {\n \"exactStaleness\": \"...\",\n \"maxStaleness\": \"...\",\n \"minReadTimestamp\": \"...\",\n \"readTimestamp\": \"...\",\n \"returnReadTimestamp\": \"...\",\n \"strong\": \"...\"\n },\n \"readWrite\": {\n \"multiplexedSessionPreviousTransactionId\": \"...\",\n \"readLockMode\": \"...\"\n }\n },\n \"id\": \"...\",\n \"singleUse\": \"...\"\n }\n }\n },\n \"result\": \"executeBatchDmlResult\"\n }\n }\n]\n```"]]