User Manual

05.16.2024

MANUAL

開発者向け機能:サーバスクリプト:items.Upsert

This page is in Japanese only.
Please wait for the English translation.

## 概要 指定したサイトでキー項目に該当するレコードが存在する場合は更新し、存在しない場合は新規作成します。 ## 制限事項 1. 作成・更新したレコードのIDを、items.Upsertの戻り値や、items.Upsertで使用する変数からは取得できません。 ## 構文 ``` items.Upsert(siteId, json) ``` ## パラメータ |パラメータ|型|必須|説明| |:----------|:----------|:---:|:---------------------------| |siteId|object|○|サイトIDを指定| |json|string|○|JSON文字列を指定| #### 指定するキー項目について 指定したキー項目をもとにAPIによるレコード作成・更新(upsert)を行います。キー項目の指定は以下のパラメータで指定します。 |プロパティ名|データ型|説明| |:--|:--|:--| |Keys|配列(文字列)|キーとなる項目を指定。複数の項目を指定可能です。| ## 戻り値 レコードを更新または、新規作成ができた場合は true、できなかった場合は false を返却します。 ## 使用例① 下記の例では、キー項目を分類Aにして、サイトID 123 のテーブルに該当するレコード(分類Aが"Ubuntu")が存在する場合は更新し、存在しない場合は新規作成します。 レコードの更新または、新規作成する際の情報は以下の通りです。 ・タイトル:プリザンターのインストールについて ・状況:実施中(200) ・分類A:Ubuntu ・分類B:PostgreSQL ##### JavaScript ``` let data = { Keys: ["ClassA"], Title: "プリザンターのインストールについて", Status: 200, ClassHash: { ClassA: "Ubuntu", ClassB: "PostgreSQL" } }; items.Upsert(123, JSON.stringify(data)); ``` ## 使用例② 下記の例ではキー項目をタイトルにして、サイトID 123 の該当するレコード(タイトルが"Sample")が存在する場合は更新し、存在しない場合は新規作成します。 この際、日付Aに入力されている値を日付Cへ転記します。 __サーバースクリプトでは日付項目はUTCとして扱われるため、適宜変換してください。__ ##### JavaScript ``` let date = model.DateA; let jstDate = date.toLocaleString("ja-JP",{ timeZone: "JST" }); let data = { Keys: ["Title"], Title: "Sample", DateHash: { DateC: jstDate } }; items.Upsert(123, JSON.stringify(data)); ``` ## 関連情報 ・[テーブルの管理:サーバスクリプト](/manual/table-management-server-script) ・[itemsオブジェクト](/manual/server-script-items) ・[開発者向け機能:API:テーブル操作:レコード作成・更新](/manual/api-record-upsert)
TOP
このページをシェアする
記載された商品名、各製品名は各社の登録商標または商標です。 © Implem Inc.