intra-mart Accel Platform IM-LogicDesigner仕様書 第24版 2024-04-01

4.2.5.1.5. Database Fetch

処理種別(タイプ)Database Fetch は、ユーザ定義タスクとしてSQL(2WaySQL)の実行結果を利用した繰り返しタスクを定義します。
このタスクでは、 SQLの実行結果を1件ずつ繰り返し要素として扱うことができます。
大量データをロジックフローで扱いたい場合に利用します。

4.2.5.1.5.1. 入力値/返却値

処理種別(タイプ)Database Fetch では、入力値/返却値をそれぞれ以下のように定義します。

4.2.5.1.5.1.1. 入力値

クエリに定義した2WaySQLのパラメータを定義します。
入力値に定義したパラメータは、クエリに定義したパラメータと紐付きます。
「範囲を指定する」チェックボックスにチェックを入れると、入力値に limit, offset キーが追加されます。
これらのキーに対して取得したい範囲の値を指定することでSELECTの範囲を指定できます。
  • limit
    • 取得するデータの最大レコード数(0以上、0の場合、offset以降の全件)
  • offset
    • 取得するデータの開始レコード位置(1以上)
例えば、先頭から5件取得したい場合 limit=5, offset=1を指定します。

4.2.5.1.5.1.2. 返却値

定義したクエリの実行結果として取得されたレコード一覧を定義します。
これらの値はクエリの呼び出し結果が返ってきた際に、システムが自動でマッピングします。

4.2.5.1.5.2. データベース種別

定義したクエリの実行先を定義します。
データベース種別として定義可能な値は以下の通りです。
  • TENANT
    • テナントDBへ問い合わせを行います。
  • SHARED
    • シェアードDBへ問い合わせを行います。
    • 問い合わせを行うシェアードDBの接続IDを同時に定義します。

4.2.5.1.5.3. フェッチサイズ

1度のフェッチで取得するレコード件数の参考値を指定します。
数値を大きく設定すると、データベースサーバとの通信回数が削減され、パフォーマンス向上が期待できますが、メモリ使用量が増大します。

4.2.5.1.5.4. クエリ

処理種別(タイプ)Database Fetch において、ユーザ定義タスクの実行処理部分のSQLを定義します。

4.2.5.1.5.5. データベースに関して対応しているデータ型

以下のデータベース型に対応しています。
IM-LogicDesignerのデータ型は、「PostgreSQL」、「Oracle Database」、「SQL Server」のデータベース型とそれぞれ対応しています。
PostgreSQLのデータ型 Oracle Databaseのデータ型 SQL Serverのデータ型 IM-LogicDesignerのデータ型
VARCHAR
CHAR
CHARACTER
TEXT
VARCHAR
CHAR
NCHAR
LONG
NVARCHAR
LONG VARCHAR
VARCHAR
NVARCHAR
CHAR
NCHAR
TEXT
string
NUMERIC
NUMERIC
SMALLINT
INTEGER
FLOAT
DOUBLE PRECISION
NUMBER
REAL
DECIMAL
NUMERIC
bigdecimal
BYTEA
BLOB
RAW
BINARY
VARBINARY
TIMESTAMP
binary
-
CLOB
NCLOB
- sqlclob
- - TINYINT byte
SMALLINT - SMALLINT short
INTEGER - INT integer
BIGINT - BIGINT long
DOUBLE PRECISION - FLOAT double
TIMESTAMP WITH TIME ZONE
TIMESTAMP
DATE
DATETIME sqltimestamp
- - DATE sqldate
BOOLEAN
BIT
- BIT boolean