5.4.3.4. UPDATEを用いたユーザ定義(SQL)の作成¶
この章では、UPDATE文を利用したユーザ定義の作成方法とその詳細について説明します。
5.4.3.4.1. 本チュートリアルで作成するユーザ定義の概要¶
本チュートリアルでは、
「IM-共通マスタ上のユーザのうち、タスクの入力値として指定されたユーザコードを持つユーザのメールアドレスを、同じく入力値として指定されたメールアドレスで更新する」
というタスクの処理の実装を通して、UPDATE文を用いたユーザ定義の作成方法とその詳細を説明します。
作成するユーザ定義の処理イメージは以下の通りです。
本チュートリアルの具体的な処理として、入力値のユーザコードは完全一致とし、メールアドレスは最大二つ指定可能としています。
また、今回の更新処理では処理内容の簡略化のため、期間情報や多言語情報を加味しません。
5.4.3.4.2. データベース種別とクエリ種別¶
はじめに、今回作成するユーザ定義(SQL)が対象とするデータベース種別、および、クエリ種別を設定します。
本チュートリアルでは以下の値を設定します。
- データ種別 - 「TENANT」
- クエリ種別 - 「UPDATE」
5.4.3.4.3. 入力値/出力値¶
次に、作成するユーザ定義を呼び出す際の入力値と、呼び出しが完了した際に返却する出力値を定義します。
ユーザ定義(SQL)の作成において入力値/出力値は、クエリ種別を選択したタイミングで自動的に初期値が設定されます。
クエリ種別「UPDATE」設定時の入力値/出力値の初期値は以下の通りです。
ここで留意すべき点は、出力値がシステムによって固定であることです。
IM-LogicDesignerではクエリ種別を元に出力値を自動で決定します。
クエリ種別「UPDATE」選択時に設定される出力値の詳細は以下の通りです。
出力値 説明 count<integer> 処理総数が格納されます。 query<string> 実行されたクエリが格納されます。
なお出力値とは違い、入力値は開発者が決定する必要があります。
本チュートリアルでは、入力値として「更新対象ユーザのユーザコード」、および、「更新メールアドレス」を以下のように定義します。
入力値 説明 update_user_cd<string> 更新対象のユーザコードを格納します。 email_address1<string> 一つ目のメールアドレス情報が格納されます。 email_address2<string> 二つ目のメールアドレス情報が格納されます。
5.4.3.4.4. クエリ設定¶
次に、実際に更新処理を行うクエリ(UPDATE文)の設定を行います。
5.4.3.4.4.1. 想定するUPDATE文¶
本チュートリアルで想定する処理は、以下のSQLによって表現されます。
UPDATE imm_user
SET email_address1 = /*email_address1*/'foo@intra-mart.jp',
email_address2 = /*email_address2*/'bar@gmail.com'
WHERE
user_cd = /*update_user_cd*/'tutorial'
5.4.3.4.5. ユーザ定義(SQL)を作成する。¶
最後に、これまでの内容を踏まえてユーザ定義(SQL)を作成します。
「SQL定義編集」画面を表示します。
ユーザ定義の基本情報となる各項目に以下の値を入力します。
データベース種別とクエリ種別を「データベース種別とクエリ種別」をもとに設定します。
入力値を「入力値/出力値」をもとに値を設定します。
クエリに「想定するUPDATE文」で提示したSQLを設定します。
「登録」をクリックします。
以上で、UPDATEを用いたユーザ定義(SQL)の作成が完了しました。