データベースの登録制御(create)

SQLのCREATE句を組立て実行します。処理結果件数は処理中に参照が可能な他、
mappingタグを用いてDataBeanに返却できます。
使用可能箇所
run
Sub Tags
value, formula

属性
id
処理結果件数を管理するID
entity
テーブル名/ビュー名、またはビュー・クラス名
transaction
トランザクション設定ファイルのXMLファイル名(例:default)
database
トランザクション設定ファイル内の接続設定のコード
schema
標準スキーマ
when
多くのTagsでサポートしている「実行可否判定のための属性」です。 (こちらを参照)

(記述例) 「SYS_USER_ACTIVITY」のUSER_CODEにDataBeanのIDの値を設定、
ACTIVITY_TYPEに'ERROR'を設定してレコードを登録

    <create id="ADD_COUNT" entity="SYS_USER_ACTIVITY">
     <value key="ID" map="USER_CODE" />
     <value val="ERROR" map="ACTIVITY_TYPE" />
    </create>
  

登録データの定義(value)

createタグを用いてデータベースにデータを登録する際に、カラムへ設定する値または数式を定義できます。
使用可能箇所
create
Sub Tags
記述不可

属性
map
データを設定するカラム名
def
初期値 ※設定値がNULLの場合に設定する値
val
固定値 ※固定値にはコマンド・テキストが使用できます。
datatype
データ型
dataformat
データ様式
※固定値を使用する場合、カラムのデータ型にあわせてdatatypeおよびdataformatを
 定義してください。
key
データ取得元のDataBean項目名
formula
数式 ※数式内ではコマンド・テキストが使用できます。
when
多くのタグでサポートしている「実行可否判定のための属性」です。(こちらを参照)

(記述例) 「SYS_USER」にレコードを登録(登録される値は以下の通り)
USER_CODE USER_CODEの最大値+1を検索して設定
USER_NAME DataBeanのNAMEを設定
CREATE_DATE CURRENT_TIMESTAMPを設定
CREATE_USER ユーザー表示情報(コマンド・テキスト)を設定

    <create id="ADD_COUNT" entity="SYS_USER">
     <value formula="(SELECT MAX({USER_CODE}) + 1 FROM SYS_USER)" map="USER_CODE" />
     <value key="NAME" map="USER_NAME" />
     <value val="CURRENT_TIMESTAMP" map="CREATE_DATE" />
     <value val="@context:USER_DISP" map="CREATE_USER" />
    </create>
  

数式の結果を登録(formula)

createタグを用いてデータベースにデータを登録する際に、カラムへ設定する数式を定義できます。
※valueタグのformula属性では書きづらい長文の数式を用いる場合に使用。
※formula属性と同様に数式内ではコマンド・テキストが使用できます。
使用可能箇所
create
Sub Tags
記述不可

属性
map
データを設定するカラム名
when
多くのタグでサポートしている「実行可否判定のための属性」です。(こちらを参照)

(記述例) 「SYS_USER」にレコードを登録(登録される値は以下の通り)
USER_CODE  USER_CODEの最大値+1を検索して設定
USER_NAME  DataBeanのNAMEを設定
CREATE_DATE CURRENT_TIMESTAMPを設定
CREATE_USER ユーザー表示情報(コマンド・テキスト)を設定

    <create id="ADD_COUNT" entity="SYS_USER">
     <formula map="USER_CODE">
     <![CDATA[
      (SELECT MAX({USER_CODE}) + 1 FROM SYS_USER)
     ]]>
     </formula>
      <value key=" NAME" map="USER_NAME" />
      <value val="CURRENT_TIMESTAMP" map="CREATE_DATE" />
      <value val="@context:USER_DISP" map="CREATE_USER" />
    </create>
  

©Camel engineering LLP