4.2.5.1.4. ストアド¶
処理種別(タイプ)ストアドは、ユーザ定義タスクとしてストアドプロシージャ、ストアドファンクションを実行するタスクを定義します。
注意
SQL Server の仕様によりSQL Server を SelectMethod=cursor で利用時には ストアド定義タスクでユーザ定義関数を実行できません。
4.2.5.1.4.1. 入力値/返却値¶
処理種別(タイプ)ストアドでは、入力値/返却値をそれぞれ以下のように定義します。
各パラメータのデータ型は、後述の「データベースに関して対応しているデータ型」を確認の上、データベースのデータ型に対応している IM-LogicDesignerのデータ型を正しく設定してください。
4.2.5.1.4.1.1. 入力値¶
SQLに定義した2WaySQLの入力パラメータ、または入出力パラメータを定義します。
入力値に定義したパラメータは、SQLに定義したパラメータとキー名で紐付きます。
出力値に同一キー名のパラメータがある場合、ストアド実行時は入出力パラメータとして扱われます。
4.2.5.1.4.1.2. 返却値¶
実行するストアドプロシージャ、ストアドファンクションの返却値の形式に合わせて、「outParameters」オブジェクト・「resultSets」オブジェクトの直下に返却値を定義します。
- outParameters
- SQLに定義した2WaySQLの出力・入出力パラメータを定義します。出力値に定義したパラメータは、SQLに定義したパラメータとキー名で紐付きます。入力値に同一キー名のパラメータがある場合、ストアド実行時は入出力パラメータとして扱われます。出力パラメータが「カーソル型」の場合は、オブジェクトの配列として定義します。オブジェクト配下の項目のパラメータ名は、カーソル型レコードが戻す各カラムの名称と同一にします。
- resultSets
- ストアドの実行結果がパラメータ以外で戻される結果セットの場合は、「resultSets」オブジェクト直下に返却値を定義します。複数の結果セットが返却される場合は、 返却される結果セット順 に結果セット数分の出力値を定義します。結果セットの出力値のキー名には任意の名前を設定します。結果セットの出力値がオブジェクトの場合は、オブジェクト配下の項目のキー名は、結果セットレコードが戻す各カラムの名称と同一にします。
4.2.5.1.4.2. データベース種別¶
定義したSQLの実行先を定義します。
データベース種別として定義可能な値は以下の通りです。
- TENANT
- テナントDBでストアドプロシージャ、ストアドファンクションを実行します。
- SHARED
- シェアードDBでストアドプロシージャ、ストアドファンクションを実行します。
- 実行するシェアードDBの接続IDを同時に定義します。
4.2.5.1.4.3. SQL¶
処理種別(タイプ)ストアドにおいて、ユーザ定義タスクの実行処理部分のSQLを定義します。
[記載例]
2つの入力パラメータ(param1、param2)と 戻り値としての1つの出力パラメータ(param3)があるストアドファンクション my_func を実行するケース
{ /*param3*/ = call my_func(/*param1*/, /*param2*/) }
SQL文に埋め込まれたパラメータ(上記例ではparam1、param2、param3) は必ず入力値または返却値に定義されている必要があります。
4.2.5.1.4.4. データベースに関して対応しているデータ型¶
以下のデータベース型に対応しています。
IM-LogicDesignerのデータ型は、「PostgreSQL」、「Oracle Database」、「SQL Server」のデータベース型とそれぞれ対応しています。
PostgreSQLのデータ型 | Oracle Databaseのデータ型 | SQL Serverのデータ型 | IM-LogicDesignerのデータ型 |
---|---|---|---|
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 [2] | 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 [3]
|
- | BIT | boolean |
注釈
[1] | (1, 2) 出力パラメータには指定できません。
ただし、出力パラメータがオブジェクト型またはオブジェクト型の配列の場合は、配下の項目としての指定が可能です。
|
[2] | 配列は利用できません。
|
[3] | 入力パラメータには指定できません。
|