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.
Arguments
Parameters | |
---|---|
session |
Required. The session in which the DML statements should be performed.
|
body |
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: requestOptions: priority: ... requestTag: ... transactionTag: ... seqno: ... statements: ... transaction: begin: partitionedDml: ... readOnly: exactStaleness: ... maxStaleness: ... minReadTimestamp: ... readTimestamp: ... returnReadTimestamp: ... strong: ... readWrite: readLockMode: ... id: ... singleUse: ... result: executeBatchDmlResult
JSON
[ { "executeBatchDml": { "call": "googleapis.spanner.v1.projects.instances.databases.sessions.executeBatchDml", "args": { "session": "...", "body": { "requestOptions": { "priority": "...", "requestTag": "...", "transactionTag": "..." }, "seqno": "...", "statements": "...", "transaction": { "begin": { "partitionedDml": "...", "readOnly": { "exactStaleness": "...", "maxStaleness": "...", "minReadTimestamp": "...", "readTimestamp": "...", "returnReadTimestamp": "...", "strong": "..." }, "readWrite": { "readLockMode": "..." } }, "id": "...", "singleUse": "..." } } }, "result": "executeBatchDmlResult" } } ]