Method: googleapis.spanner.v1.projects.instances.databases.sessions.executeBatchDml

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

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:
            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"
    }
  }
]