
本記事では、SPIRAL ver.1での「トランザクションDB」におけるアクションとトリガ/抽出ルールの活用方法について、実務を想定した事例を交えてご紹介します。
トランザクションDBとは?
SPIRAL ver.1では、通常DBに加えて「トランザクションDB」を用いることで、フォームからの登録・更新・削除といった動的データを記録・管理することができます。「アクション」と「トリガ / 抽出ルール」それぞれの機能と特性はこちら:
機能 | 特性 |
アクション | トランザクション発生時に行う処理(DB更新や通知) |
トリガ/抽出ルール | どのタイミングで、どんな条件で、どのデータを対象とするかの設定 |
トランザクションDBの全体像
トランザクションDBは、「トランザクションデータ」を使って「マスタデータ」に対し、複数のアクション(処理)を実行します。また、その履歴を保存することで処理の証跡を残し、マスタデータを削除してしまった際のデータ復元に使用することができます。

トランザクションDBの削除について
トランザクションDBは性質上、データを削除することはできませんが、個人情報をマスクすることが可能です。
トランザクションDBに登録された個人情報のマスク方法については、サポートサイトをご覧ください。
トランザクションDBに登録された個人情報をマスクしたい
トランザクションDBは性質上、データを削除することはできませんが、個人情報をマスクすることが可能です。
トランザクションDBに登録された個人情報のマスク方法については、サポートサイトをご覧ください。
トランザクションDBに登録された個人情報をマスクしたい
活用方法:セミナー申込データのマスタ反映
セミナー申込データのマスタDBへの反映
セミナーを管理するマスタDBと、ユーザーが申込フォームからセミナーに申し込むトランザクションDBを用意します。このような条件で、データを処理します。
処理 |
ユーザーが申込フォームからセミナーに申し込んだら、マスタDBの空席数を減らしたい。 |
空席数が0のときはエラー終了したい |
事前準備
フィールド名 | フィールドタイプ差し替えキーワード | 差し替えキーワード |
セミナーID | 数字・記号・アルファベット(32bytes) | seminarID |
セミナー名 | セレクト | seminarName |
残席数 | 整数 | seatsLeft |


フィールド名 | フィールドタイプ差し替えキーワード | 差し替えキーワード |
TRDB_登録日時 | 登録日時 | registedDate |
セミナー名 | セレクト(共有) | seminarName |
申込数 | 整数 | appliedAmount |
登録メールアドレス | メールアドレス(大・小文字無視) |


2. 「フィールド別チェック」を設定し、「申込数」に登録時の固定値「1」が自動的に入力されるようにします。

トランザクションDBの設定手順
アクション作成
処理内容:セミナーマスタDBの空席数を1件減らす・トランザクションDBの「アクション」からアクションを作成します。
トランザクションDBの設定関連から、「アクション」を選び、アクション一覧から、「+」ボタンをクリックします。
ここでは、トランザクションDBの「アクション」からアクションを作成します。
「アクション情報」に 「アクション名」と「発動条件」、「アクション対象DB」、「アクション」を入力します。
今回のアクションは、既存のセミナー情報に対して申込みを行い、その結果として残席数が変更されるため、アクションとしては「更新(UPDATE)」を選択します。

そして、「アクションの処理条件」を選択します。
アクションの処理条件は、フォーマット、識別キー、認証キーなどのチェックを行ってからの処理を行うかどうかを設定します。
様々なシチュエーションを想定し、設定することができます。
様々なシチュエーションを想定し、設定することができます。
ここでは、様々な状況におけるアクションの「エラー終了」などの設定を行うことができます。

アクションの作成が完了すると、
設定後、アクション一覧画面では「設定未完了」と表示されます。

ここで、操作の下にある歯車をクリックし、「アクション設定」を開きます。
「検索キーフィールド」の設定が可能になっているので、フィールドを選択します。
※「検索キーフィールド」とは、更新対象レコードを特定するためのキー項目です。
IDやユニークな名称を使用し、対象DB側にも同じフィールドが必要です。
なお、「検索キーフィールド」に指定するためには該当フィールドに対してインデックスを設定する必要があります。
今回は「識別キー」のみ設定し、「セミナー名」を指定します。
IDやユニークな名称を使用し、対象DB側にも同じフィールドが必要です。
なお、「検索キーフィールド」に指定するためには該当フィールドに対してインデックスを設定する必要があります。
今回は「識別キー」のみ設定し、「セミナー名」を指定します。



「演算子」は「なし」、「+=」、「-=」、「×=」から選択できます。
これでアクションの設定は完了です。
今回は「-=」を選択し、「保存」ボタンをクリックします。

動作確認
マスタDBの「データ操作」より各セミナーに「残席数」の設定を行います。

セミナーAの残席数が1件減っていることが確認できます。

アクションのみを設定している場合、残席数が0でもセミナーに申し込みができてしまい、
画像のように残席数がマイナスになってしまいます。
これを防ぐのが、「トリガ」設定です。

トリガ作成
なぜトリガは必要なのか?
トリガを設定することによって、残席数が0未満になった場合に、エラー終了するように設定します。
これにより、残席数が0のセミナーには申し込めなくなり、満席後の誤申込みを防止できます。
トリガは、DBの登録や更新などのイベントに対して、
特定の条件を満たした場合に自動的に処理を実行する仕組みです。
これにより、リアルタイムでのデータ整合性を保つことができます。
トリガを設定することによって、残席数が0未満になった場合に、エラー終了するように設定します。
これにより、残席数が0のセミナーには申し込めなくなり、満席後の誤申込みを防止できます。
トリガは、DBの登録や更新などのイベントに対して、
特定の条件を満たした場合に自動的に処理を実行する仕組みです。
これにより、リアルタイムでのデータ整合性を保つことができます。

次に、トリガの種類では「演算トリガ」を選びます。
作成方法は「新規作成」を選んで、『作成』ボタンを押してください。

次に、基本設定で「トリガ名」を入力し、「保存してフィールド設定へ」をクリックします。

作成が完了したら演算式を入力します。
演算結果格納フィールドでは「エラー終了」を選択し、追加をクリックします。
次に、IF文でフィールドとして「残席数」を選び、値が0未満となる条件式を入力します。
今回は「残席数」が0未満のときエラー終了するようにします。


これで「残席数」が0のセミナーには申し込めない設定を行うことができました。
演算トリガについての詳しい説明はサポートサイトをご覧ください。
演算トリガ
抽出ルール作成
最後に、「抽出ルール」を使った応用設定として、特定ドメイン宛てにのみメールを送信する方法をご紹介します。例えば、@spiral.co.jpのメールアドレスで登録された場合にのみ、サンクスメールを送信したい場合は以下のように設定します。
「フィールド名」から「登録者メールアドレス」を選択し、「追加」ボタンをクリックします。
下に表示された抽出ルールから「編集」をクリックすると、「フィールドの抽出ルール 新規作成」ポップアップが表示されます。
名前を入力し、抽出条件から「ドメイン」を選択します。
ドメイン名を設定します。
※選択したフィールドのタイプによって抽出条件は異なります。

設定できたら、「新規作成」をクリックします。
次に、リスト名、受取人メールアドレスフィールド、ドメイン抽出を入力し、「新規作成」をクリックすれば設定完了です。
このリストを使用することにより、「@spiral.co.jp」のドメインで登録した人にのみメールが送られるよう設定することができました。

抽出ルールについての詳しい説明はサポートサイトをご覧ください。
抽出ルール
まとめ
SPIRAL
ver.1におけるトランザクションDBのアクション機能を活用すれば、ユーザーの動きに合わせたリアルタイム処理が可能になります。
業務効率化や顧客対応の高速化に大きく貢献しますので、ぜひ積極的に活用してみてください。
※詳細な操作画面やステップは、サポートサイトをご参照ください。
トランザクションDB
業務効率化や顧客対応の高速化に大きく貢献しますので、ぜひ積極的に活用してみてください。
※詳細な操作画面やステップは、サポートサイトをご参照ください。
トランザクションDB