開発情報・ナレッジ

投稿者: SPIRERS ナレッジ向上チーム 2026年4月8日 (水)

トランザクションDBのように、登録時に別DBへデータを登録する方法

SPIRAL ver.1では、トランザクションDB機能がございます。
トランザクションDBは、登録データをトランザクションデータとして受け付け、DBに格納しているマスタデータに反映するデータベースです。
SPIRAL ver.2は、トランザクションDBの機能はございませんが、トリガ機能を用いることで同様の動きをさせることが可能です。

実装例

本記事では、「イベントマスタDB」「申込トランザクションDB」「参加者マスタDB」用意して、「トランザクションDB」にイベント参加のデータが登録された際、「参加者マスタDB」に登録する方法を紹介いたします。
条件として、トランザクションDBに「マスタ登録フラグ」を追加し、「True」「False」の値により、「参加者マスタDB」への登録有無を制御いたします。

▼全体フロー
DBの設定
今回は以下3つのDBを作成します。
詳しい作成手順は DB機能 をご覧ください。
▼イベントマスタDBフィールド一覧
イベント情報を格納するDBです。
項目名 識別名 フィールドタイプ DB上で必須な属性
イベントID eventID テキスト 入力必須:あり
ユニーク制約:あり
イベントタイトル eventTitle テキスト なし
▼参加者マスタDBフィールド一覧
参加者情報を格納するDBです。
項目名 識別名 フィールドタイプ DB上で必須な属性
イベントID eventID テキスト なし
イベントタイトル eventTitle テキスト
名前 name テキスト
メールアドレス mail メールアドレス
▼トランザクションDBフィールド一覧
トランザクションデータを格納するDBです。
項目名 識別名 フィールドタイプ DB上で必須な属性
イベント参照 eventRef 参照フィールド イベントマスタDBのイベントIDを参照
名前 name テキスト なし
メールアドレス mail メールアドレス
マスタ登録フラグ registFlg セレクト 1:True
2:False

設定方法

1. 「申込トランザクションDB」に、トリガの設定を行う
●【参加者マスタDBに登録】 トリガ
※申込トランザクションDBの登録トリガで設定します
アクション先 他DB(参加者マスタDB)
発動条件 マスタ登録フラグ 等しい True
アクション先への操作 登録
処理マッピング イベントID = イベント参照>イベントID
イベントタイトル = イベント参照>イベントタイトル
名前 = 名前
メールアドレス = メールアドレス
エラー処理 全てエラー終了
2. イベント一覧ページの作成
イベントマスタにてイベントを管理しているため、イベント一覧ページ/イベント一覧を作成します。
「イベントマスタDB」の「レコードリスト」を作成ください。
また、後述するイベント申込ページへリンク設定をします。

▼レコードリストのリンク設定
3. イベント申込ページを作成
イベント一覧ページから遷移する、イベント申込ページを作成します。
「申込トランザクションDB」の「登録フォーム」を作成ください。
使用項目は、「名前・メールアドレス・マスタ登録フラグ」を設定し、入力必須に設定ください。
【自動登録】に「イベント参照」を設定し、「任意レコード値」を設定します。

▼自動登録設定


以上にて、イベント申込時に「申込トランザクションDB」から「True」「False」の条件に応じて参加マスタDBにレコードを登録する設定は完了となります。
こちらの設定を行うことで、トランザクションDBのような動作を行うことが可能です。
同じ人に申込をさせたくない場合では、「参加者マスタDB」の「イベントID・メールアドレス」で2フィールドにまたがる重複不可にすることで、【同じイベントに2回申込をしようとした際】にフォーム上でエラーにさせることが可能です。

▼2フィールドにまたがる重複不可設定

さいごに

トリガを設定し、トランザクションDBのように扱う方法を紹介いたしました。
今回は、「マスタ登録フラグ」の条件に応じて、登録する/しないを分けていますが、条件に応じて別のDBに登録させることなども可能です。
別DBに登録するためには、トリガを追加で設定する必要がございます。
トリガのレコードアクションの設定数は、5アクションとなりますので、ご注意ください。

解決しない場合はこちら コンテンツに関しての
要望はこちら