SPIRAL ver.1では、トランザクションDB機能がございます。
トランザクションDBは、登録データをトランザクションデータとして受け付け、DBに格納しているマスタデータに反映するデータベースです。
SPIRAL ver.2は、トランザクションDBの機能はございませんが、トリガ機能を用いることで同様の動きをさせることが可能です。
トランザクションDBは、登録データをトランザクションデータとして受け付け、DBに格納しているマスタデータに反映するデータベースです。
SPIRAL ver.2は、トランザクションDBの機能はございませんが、トリガ機能を用いることで同様の動きをさせることが可能です。
実装例
本記事では、「イベントマスタDB」「申込トランザクションDB」「参加者マスタDB」用意して、「トランザクションDB」にイベント参加のデータが登録された際、「参加者マスタDB」に登録する方法を紹介いたします。
条件として、トランザクションDBに「マスタ登録フラグ」を追加し、「True」「False」の値により、「参加者マスタDB」への登録有無を制御いたします。
詳しい作成手順は DB機能 をご覧ください。
▼イベントマスタDBフィールド一覧
イベント情報を格納するDBです。
▼参加者マスタDBフィールド一覧
参加者情報を格納するDBです。
▼トランザクションDBフィールド一覧
トランザクションデータを格納するDBです。
条件として、トランザクションDBに「マスタ登録フラグ」を追加し、「True」「False」の値により、「参加者マスタDB」への登録有無を制御いたします。
▼全体フロー
DBの設定
今回は以下3つのDBを作成します。詳しい作成手順は DB機能 をご覧ください。
▼イベントマスタDBフィールド一覧
イベント情報を格納するDBです。
| 項目名 | 識別名 | フィールドタイプ | DB上で必須な属性 |
|---|---|---|---|
| イベントID | eventID | テキスト | 入力必須:あり ユニーク制約:あり |
| イベントタイトル | eventTitle | テキスト | なし |
参加者情報を格納するDBです。
| 項目名 | 識別名 | フィールドタイプ | DB上で必須な属性 |
|---|---|---|---|
| イベントID | eventID | テキスト | なし |
| イベントタイトル | eventTitle | テキスト | |
| 名前 | name | テキスト | |
| メールアドレス | メールアドレス |
トランザクションデータを格納するDBです。
| 項目名 | 識別名 | フィールドタイプ | DB上で必須な属性 |
|---|---|---|---|
| イベント参照 | eventRef | 参照フィールド | イベントマスタDBのイベントIDを参照 |
| 名前 | name | テキスト | なし |
| メールアドレス | メールアドレス | ||
| マスタ登録フラグ | registFlg | セレクト | 1:True 2:False |
設定方法
1. 「申込トランザクションDB」に、トリガの設定を行う
●【参加者マスタDBに登録】 トリガ※申込トランザクションDBの登録トリガで設定します
| アクション先 | 他DB(参加者マスタDB) |
|---|---|
| 発動条件 | マスタ登録フラグ 等しい True |
| アクション先への操作 | 登録 |
| 処理マッピング |
イベントID = イベント参照>イベントID イベントタイトル = イベント参照>イベントタイトル 名前 = 名前 メールアドレス = メールアドレス |
| エラー処理 | 全てエラー終了 |
2. イベント一覧ページの作成
イベントマスタにてイベントを管理しているため、イベント一覧ページ/イベント一覧を作成します。
「イベントマスタDB」の「レコードリスト」を作成ください。
また、後述するイベント申込ページへリンク設定をします。
「イベントマスタDB」の「レコードリスト」を作成ください。
また、後述するイベント申込ページへリンク設定をします。
▼レコードリストのリンク設定
3. イベント申込ページを作成
イベント一覧ページから遷移する、イベント申込ページを作成します。
「申込トランザクションDB」の「登録フォーム」を作成ください。
使用項目は、「名前・メールアドレス・マスタ登録フラグ」を設定し、入力必須に設定ください。
【自動登録】に「イベント参照」を設定し、「任意レコード値」を設定します。
「申込トランザクションDB」の「登録フォーム」を作成ください。
使用項目は、「名前・メールアドレス・マスタ登録フラグ」を設定し、入力必須に設定ください。
【自動登録】に「イベント参照」を設定し、「任意レコード値」を設定します。
▼自動登録設定
以上にて、イベント申込時に「申込トランザクションDB」から「True」「False」の条件に応じて参加マスタDBにレコードを登録する設定は完了となります。
こちらの設定を行うことで、トランザクションDBのような動作を行うことが可能です。
同じ人に申込をさせたくない場合では、「参加者マスタDB」の「イベントID・メールアドレス」で2フィールドにまたがる重複不可にすることで、【同じイベントに2回申込をしようとした際】にフォーム上でエラーにさせることが可能です。
▼2フィールドにまたがる重複不可設定
さいごに
トリガを設定し、トランザクションDBのように扱う方法を紹介いたしました。
今回は、「マスタ登録フラグ」の条件に応じて、登録する/しないを分けていますが、条件に応じて別のDBに登録させることなども可能です。
別DBに登録するためには、トリガを追加で設定する必要がございます。
トリガのレコードアクションの設定数は、5アクションとなりますので、ご注意ください。