40
1

Delete article

Deleted articles cannot be recovered.

Draft of this article would be also deleted.

Are you sure you want to delete this article?

はじめに

この記事ではDBを操作するためのアプリケーション接続設定で作成したアプリケーション接続を利用して、DBのテーブルのデータを更新(UPDATE)する実装を確認します。

なお、この記事は次の記事の内容を理解していることを前提としています。

テーブルのデータを更新する実装

テーブルのデータを更新するには、更新対象のデータを 割り当てステップ にて クエリ として取得して、その後再度 割り当てステップ にて取得したデータを変更します。初見では 割り当てステップ で何かしているな・・・くらいにしか見えないと思います。具体的な実装を確認しながら理解を深めていただければと思います。

DBのテーブルのデータを更新(UPDATE)するには次のようにCAIプロセスを作成します。

  1. CAIプロセスを次の設定で作成します。

    • 名前を recipe-psa-jdbcUpdate とする
    • 匿名アクセス を許可する
    • Secure Agent にデプロイする
  2. 出力フィールド before を次のように定義します。
    image.png

  3. 一時フィールド tmpRow を次のように定義します。
    image.png

  4. 割り当てステップ を追加して次のように一時フィールド tmpRowクエリ として COL1='1' を指定して条件を満たすデータを取得します。
    image.png

  5. 2つ目の 割り当てステップ を追加して次のように指定します。
    image.png
    1行目の割り当てでは、出力フィールド before に更新処理をする前の値を設定しています。
    2行目の割り当てでは、1つ目の 割り当てステップ で取得した値の COL2 列に recipe-1 という値を指定しています。この2行目の処理にてデータの更新(Update)が行われます(初見では何を目的とした実装なのか読み取れなさそうですよね・・・)。

  6. 保存してパブリッシュします。

curlコマンドによりCAIプロセスを3回実行すると、以下のように2回目と3回目の実行時には recipe-1 という値が返ってくる動作を確認できます。1度目の実行時に COL1='1' 行のデータが買い替えられているための動作です。

curlコマンドと実行結果
// curl コマンド
curl -k https://localhost:7443/process-engine/public/rt/recipe-psa-jdbcUpdate

// 実行結果(1回目)
{"before":"val-1"}

// 実行結果(2回目)
{"before":"'recipe-1'"}

// 実行結果(3回目)
{"before":"'recipe-1'"}

参照

40
1
0

Register as a new user and use Qiita more conveniently

  1. You get articles that match your needs
  2. You can efficiently read back useful information
  3. You can use dark theme
What you can do with signing up
40
1

Delete article

Deleted articles cannot be recovered.

Draft of this article would be also deleted.

Are you sure you want to delete this article?