データの存在チェック(select)
SQLのSELECT句を組立て実行しデータが存在するか確認します。
selectタグはサブタグを組合せることで、等結合や外部結合、副問い合わせなど
様々なSQL文を発行することができます
(詳細はこちらを参照)。
- 使用可能箇所
- check
- Sub Tags
-
link,
join,
where,
group,
order,
value,
formula
属性
- id
- 返却値を管理するID
- entity
- テーブル名/ビュー名、またはビュー・クラス名
- exists
- true 存在する or false 存在しない
- when
- 多くのTagsでサポートしている「実行可否判定のための属性」です。(こちらを参照)
- message
-
メッセージ定義のIDまたは直接文書を指定することで、
標準メッセージを指定した内容に変更します。
- messageKey
- メッセージに含まれる{i}の数にあわせて、パーツ(項目IDまたは項目名、値)をカンマ区切りで
指定することで{i}の部分を指定の内容に変換してメッセージを組立てます。
※パーツにはコマンド・テキストが使用できます。
- targetFields
- エラーに関わる項目IDをカンマ区切りで指定します。
message/messageKey/targetFieldsについてはこちらを参照
(記述例)
テーブル「SYS_USER」をDataBeanのIDの値を用いて検索しデータが存在しなければエラー
<check>
<select id="USER_LIST" entity="SYS_USER" exists="true"
description="指定のユーザーが存在することを確認"
message="指定のユーザーは存在しません"
targetFields="USER_CODE">
<where>
<data key="ID" map="USER_CODE" type="eq" def="NULL" />
</where>
</select>
</check>
(注)def属性を設定しないとDataBeanのIDがNULLの場合、条件なしの検索となる。
詳細はwhereのdataタグを参照してください。