データベースのテーブルから検索を行い、その結果を値として返します。
出力のフィールドが1つの場合、そのフィールドの型に応じて適切な型で返します(VARCHARはString、Timestampは DateTime型など)。フィールドが複数の場合は、フィールドが複数の場合の指定にしたがって出力されます。
| 入力 | データ型 | 説明 |
|---|---|---|
| 入力N | All | データ |
| 出力 | データ型 | 説明 |
|---|---|---|
| 出力N | All | 検索に一致した値 |
| 名前 | プロパティ型 | 説明 | ||||||||||||
|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|
| コネクション名 | connection |
管理コンソールで定義したRDBコネクション名を指定します。
RDBコネクションの「XA対応」が「はい」の場合はエラーとなることがありますので注意してください。 |
||||||||||||
| SQL文 | string |
検索するSQL を指定します。
SQLビルダーによって自動作成したり、さらに編集したりすることができます。SQLビルダーの詳細については、RDB(Get)コンポーネントのトピック「SQLビルダーの使い方」を参照してください。 SQLを手動で編集する場合は、JavaのPreparedStatementで使用できる'?' を使ってキーを指定します。 例えば、「select field2 from tablename where field1=?」とSQL文に指定した場合は、TableDBへの入力が?の部分に置き換わり検索条件を指定します。 キーが2つ以上ある場合は「select field2 from tablename where field1=? and field3=?」のように指定します。この場合TableDBへの入力は2つ必要になり、それぞれが?の部分に置き換わります。 「select * from tablename」も使用が可能です。 使用している?の数と入力の数があっていない場合はバインドエラーとなりエラーが発生します。 (?を使用せず入力データなしで実行することもできます。) SQLビルダーによって自動作成した場合、SQL文中のパラメーターはすべて上記の'?'に置換されます。逆にSQLビルダーを起動するとき、SQL文中の'?'はすべて'?input1?', '?input2?', ... という名前のパラメーターに置き換えられます。また、SQLビルダーで定義したパラメーター名、順序、データ型は使用されないので注意してください。特に、データ型に関しては、SQLビルダーで「SELECTテスト」を行う時は定義したパラメーターのデータ型を使用しますが、フローで実行する時は、実行時にパラメーターに入力されたデータのデータ型を使用します。 ※「$パラメーターのフィールド名$」を使用した置換文字列は使用できません。 |
||||||||||||
| 区切り文字 | string | 一致したレコードに複数のフィールドがあった場合、フィールドを区切る文字を指定します。 | ||||||||||||
| フィールドが複数の場合 | choice | SQL文から複数のカラムをSELECTしている場合の出力方法を指定します。
|
||||||||||||
| レコードが無い場合 | choice | レコードが1つも一致しなかった場合の動作を指定します。
|
||||||||||||
| レコードが複数の場合 | choice | レコードが2つ以上一致した場合の動作を指定します。
|
||||||||||||
| 固定値 | string | レコードが無い場合が「固定値を出力」の場合の出力値を指定します。 |