配列
配列は複数の値をまとめて送信する場合に設定するパラメーターの種類です。
配列のパラメーターには以下の項目を設定できます。
- 要素の種類
- フォーマット形式
- 初期値
要素の種類
配列の要素の種類は以下から選択できます。
さらに要素の種類ごとに入力必須かどうかや正規表現による入力値チェックなどを設定できます。
要素の種類ごとに設定できる項目は、各種パラメーターのドキュメントをご参照ください。
配列の要素の種類が配列/タプルの場合
要素の種類で配列/タプルを設定すると階層構造のある配列を設定できます。
階層構造のある配列の場合は、配列内の配列/タプルの要素の種類を以下から選択できます。
- 文字列
- 数値
- 日付
- 真偽値
階層構造のある配列の場合でも要素の種類ごとに、入力必須かどうかや正規表現による入力値チェックなどを設定できます。
フォーマット形式
配列を送信する際のフォーマット形式を以下から選択できます。
- フォーマットなし
- JSON
- 区切り文字
- SQL
フォーマットなし
配列の形式のまま送信されます。
フォーマットなし は以下のデータソースでのみ利用できます。
JSON
配列をJSON形式に変換した文字列が送信されます。
要素の種類 | 送信される文字列 | 説明 |
---|---|---|
テキスト | ["a","b"] | |
数値 | [1,2] | 各要素は二重引用符なしで送信されます |
日付(unixtime として利用する場合) | ["1672498800","1672585200"] | |
日付(unixtime として利用しない場合) | ["2023-01-01","2023-01-02"] | 各要素は設定した日付の形式で送信されます |
真偽値 | ["有効","無効"] ( 有効 、無効 は設定した真、偽の値) | 各要素は設定した真、偽の値が送信されます |
配列 | [["a","b"],["c","d"]] | 配列内の配列は二重引用符なしで送信されます |
区切り文字
- 区切り文字
- 引用符
を設定でき、設定内容に基づいて配列を変換した文字列が送信されます。
// (例)引用符に `"`、区切り文字に `,` を設定した場合に、送信される文字列
"a","b","c"
SQL
SQL文内で使用できる配列の形式で送信されます。
SQLは以下のデータソースでのみ利用できます。
フォーマット形式でSQLを選択した場合、展開先を以下から選択します。
- IN
- VALUES
IN
パラメータの値を、SQL文内で以下のようにIN句の値として利用する場合に選択します。
SELECT * FROM table1 WHERE column1 IN {{ array_parameter }};
配列の要素の種類がテキストや数値の場合、アクション実行時に上記のSQL文から以下のようなSQL文が生成されます。
SELECT * FROM table1 WHERE column1 IN (?, ?, ?);
また配列の要素の種類が配列/タプルの場合、アクション実行時に上記のSQL文から以下のようなSQL文が生成されます。
SELECT * FROM table1 WHERE column1 IN ((?, ?, ?), (?, ?, ?));
VALUES
パラメーターの値を、SQL文内で以下のようにVALUES句の値として利用する場合に選択します。
INSERT INTO table1 (column1) VALUES {{ array_parameter }};
VALUESは配列の要素の種類が配列/タプルの場合のみ利用できます。
アクション実行時に上記のSQL文から以下のようなSQL文が生成されます。
INSERT INTO table1 (column1) VALUES (?, ?, ?), (?, ?, ?);
例)MySQL の IN 句で利用する場合
- アクションの追加画面または編集画面から処理の設定画面に移動します。
- データソースの選択からMySQLのデータソースを選択します。
- パラメーターを追加し入力値の種類を配列、フォーマット形式をSQL、展開先をINに設定し、任意の要素の種類を設定します。
- SQL文を入力しIN句で
{{ パラメーター名 }}
の形式で配列のパラメーターを利用します。
- アクションを保存します。
- アクションの実行画面で配列のパラメーターに値を入力して実行すると、入力した値がIN句に展開されてSQLが実行されます。