Add or Update Rows

put

/mobile/platform/database/objects/{table}

Adds or updates one or more rows. Whether the service performs an add or update depends on whether the table uses id or primary key fields to uniquely identify rows.

  • id field: If you include an id property in the request body, then the service performs an update. Otherwise it adds the row.
  • Primary key fields: If the table uses primary key fields, then the service performs an update if a row exists with matching primary key values.Otherwise, it adds the row.
Note that if you submit a batch of rows, all the rows must have the same set of columns.

If the Database_CreateTablesPolicy environment policy is allow, then the following occur:

  • If the table doesn't exist, then it's created.
  • If a column doesn't exist, then the table is altered to include it.
  • If the value is larger than the column size, then the column is resized. String values can't exceed 4000 characters.
For security reasons, you can call this operation only from custom API implementations by using the custom code SDK. You can't make direct requests from client applications. This API is included in this reference merely to describe the request and response bodies for the custom code SDK calls.

Request

Supported Media Types
Path Parameters
Header Parameters
  • For an implicit table creation, optionally provide a comma-separated list that specifies which predefined columns to include in the table from amongst id, createdBy, createdOn, modifiedBy, and modifiedOn. For example, createdOn,createdBy.

    To not include any predefined columns, specify none. To include all the predefined columns, do not include the header in the request. Note that the id column is added to the table automatically if both the Oracle-Mobile-Primary-Keys and Oracle-Mobile-Extra-Fields are absent.

    When you use /mobile/platform/database/objects/{table} endpoint operations to add or modify a row in a table that has predefined columns, the predefined columns are updated automatically. The user doesn't need to provide values for these columns.

    When you use the POST /mobile/platform/database/sql operation to add or update a row in a table that has predefined columns, the predefined columns aren't updated automatically.

  • For an implicit table creation, provide a URL-encoded, comma-separated list specifying which attributes of the JSON object in the request body constitute the table's primary key. For example, lastName,firstName. Note that when you retrieve, update, or delete rows in a table you must specify the keys in the same order that you specified when you first created or re-created the table. However, when you call either GET /mobile/system/databaseManagement/tables or GET /mobile/system/databaseManagement/tables/{table}, the primaryKeys property lists the columns in alphabetical order, and not in the order that you used when you created or re-created the table. Therefore, you must make a note of the order when you create or re-create a table.

    If you don't specify a primary key and you don't specify additional fields, then the service adds an id column to the table, and generates the column's values automatically.

Body ()
Root Schema : addOrUpdate
Type: object
Match One
Show Source
  • rowData
    Additional Properties Allowed: additionalProperties
    Column names and values. For example `{ "title" : "The Imitation Game"}`. String values can't exceed 4000 characters. Binary types aren't supported.
  • tableData
    Minimum Number of Items: 1
    Unique Items Required: true
Nested Schema : rowData
Type: object
Additional Properties Allowed
Show Source
Column names and values. For example `{ "title" : "The Imitation Game"}`. String values can't exceed 4000 characters. Binary types aren't supported.
Nested Schema : tableData
Type: array
Minimum Number of Items: 1
Unique Items Required: true
Show Source
  • rowData
    Additional Properties Allowed: additionalProperties
    Column names and values. For example `{ "title" : "The Imitation Game"}`. String values can't exceed 4000 characters. Binary types aren't supported.
Example Request (application/json)
[
    {
        "year":1954,
        "id":1,
        "title":"Fear"
    },
    {
        "year":1982,
        "id":2,
        "title":"Annie"
    }
]

Response

Supported Media Types

200 Response

The structure of the response JSON object depends on if the table has a primary key:

Example when the table has a primary key:

{ "rowCount" : 2 } 
Example when the row key is the id column:
{"items":[{"id":42},{"id":43}]} 

Body ()
Root Schema : addUpDelResponse
Type: object
Match One
Show Source
Nested Schema : rowCount
Type: object
Show Source
Nested Schema : idItems
Type: object
Show Source
Nested Schema : idRowData
Type: array
Minimum Number of Items: 0
Unique Items Required: true
Show Source
Nested Schema : idData
Type: object
Show Source