DBトリガのレコードアクションでは、フィールドに値をマッピングする際に関数設定を利用することができます。
一見難しそうに見える関数設定ですが、サンプルを用意しましたのでぜひ参考にしてみてください。
一見難しそうに見える関数設定ですが、サンプルを用意しましたのでぜひ参考にしてみてください。
レコードアクションの関数設定とは
DBトリガのレコードアクションの処理マッピングに関数設定を使用することで、関数や演算子、フィールドの値を組み合わせたデータ処理を設定をすることが可能です。
関数設定を使用するには、切り替えボタンで関数設定に切り替えた後、電卓アイコンをクリックします。 DBトリガのレコードアクションについては、サポートサイト DBトリガのレコードアクションを、
関数や演算子の詳細については、サポートサイト 条件式や計算式の記法をご参照ください。
この記事では、関数設定のサンプルをご紹介いたします。
関数設定を使用するには、切り替えボタンで関数設定に切り替えた後、電卓アイコンをクリックします。 DBトリガのレコードアクションについては、サポートサイト DBトリガのレコードアクションを、
関数や演算子の詳細については、サポートサイト 条件式や計算式の記法をご参照ください。
この記事では、関数設定のサンプルをご紹介いたします。
関数設定サンプル(固定値)
フィールド内に固定の値をマッピングする場合のサンプルです。
※改行「\n」は使用できません。
※ラベルIDで指定してください。
※ラベルIDで指定してください。
※国コードの指定が必要です。
※UTCで入力する必要があります。
※IDで指定してください。
※IDで指定してください。
テキスト
'テキスト'
テキストエリア
'テキストエリア'
メールアドレス
'email@example.com'
セレクト
'2'
マルチセレクト
MULTISELECT(1, 2)
整数
1234
数値
3.1415
電話番号
'+81 8011112222'
日時
'2016-01-01T03:00:00Z'
日付
'2016-01-20'
月日
'01-20'
時刻
'12:34:56'
参照フィールド
1
参照フィールド(複数参照)
MULTI_REF_ARRAY(1, 2, 3)
関数設定サンプル(フィールド値や関数を使用した設定)
姓と名を結合する
@DB.nameSei || @DB.nameMei
接頭文字+レコードID(ゼロ埋め)で自動発番
'PB' || LPAD(@DB._id, 5, '0')
数字とアルファベットでランダム値を発番(小文字アルファベットと「I」と「O」を除く)
RANDOM_NUM_ALP(10, '[a-z, I, O]')
IDを1から発番させる(テストデータ削除後など)
「- 20」の部分は最後に発番されたIDと同じ数を減算するように変更してください。@DB._id - 20
LPAD(@DB._id - 20, 5, '0')
一時的に重複しないメールアドレスを生成(入力必須やユニーク制約を回避したい場合に使用)
左パディングやランダム値発番 LPAD()、RANDOM_NUM_ALP()など はメールアドレスフィールドの関数設定で使えないといった制約がありますが、一度テキストフィールドに格納した後、別のレコードアクションを作成して結合をすることで対応可能です。-ゼロ埋めID発番(レコードアクション1)
LPAD(@DB._id, 8, '0')
-発番したゼロ埋めIDとドメインを結合(レコードアクション2)
@DB.userID || '@spiral-platform.co.jp'
@DB.userID … レコードアクション1でゼロ埋めIDを格納したフィールド
1ヶ月後の日付
NOW() + INTERVAL('1 month')
在庫数を購入数ぶん引く
@productDB.stock - @orderDB.quantity
残席を1減らす
@seminarDB.seats - 1
小計から消費税を計算(消費税率10%、小数点以下切り捨て)
@orderDB.subtotal * (10 / 100) - @orderDB.subtotal * (10 / 100) % 1