更新系SQL実行処理

オペレーション名

更新系SQL実行

機能概要

SQL文を用いてデータを書き込みます。

データモデル

本コンポーネントのデータモデルはテーブルモデル型です。

チュートリアル

MySQLデータベースへのコネクションの作成方法については、以下のチュートリアルを参照してください。

プロパティ

= 備考 =

変数の使用については、「変数」を参照してください。

基本設定

項目名

必須/省略可

変数の使用

説明

備考

名前

必須

使用不可

スクリプトキャンバス上での名前を入力します。

 

入力データ

省略可

使用不可

スクリプトキャンバス上にあるコンポーネントを選択します。

  • [SQL文]にSQLパラメータを使用しない場合には[入力データ]を指定しません。

必須設定

項目名

必須/省略可

変数の使用

説明

備考

接続先

必須

使用不可

コネクションリソースを選択します。

[追加]

新規にコネクションリソースを追加します。

[一覧の編集]

> HULFT INTEGRATE > コネクションで、コネクションリソースの設定を編集することができます。

 

SQL文

必須

使用可

データベースへ発行するSQL文を入力します。

  • [接続先]が未設定または不正な場合、無効になります。

  • SQLパラメータ」を使用できます。

  • INSERT文、UPDATE文、DELETE文、またはDDL文のような何も返さないSQL文を指定できます。

  • [SQL文]にSQLパラメータが含まれていない場合には、java.sql.StatementクラスのexecuteUpdate()メソッドを実行し、SQLパラメータが含まれている場合には、java.sql.PreparedStatementクラスのexecuteUpdate()メソッド、またはaddBatch()メソッドとexecuteBatch()メソッドを実行しています。

    上記以外で実行できるSQL文については、データベースベンダーに問い合わせてください。

  • 入力値のサイズ上限は約60,000バイトです。ただし、接続先データベースや使用するJDBCドライバにサイズの制限がある場合、それらの制限が上限値となります。

注意

複数のクエリを連結したSQL文は指定できません。

スキーマ定義

省略可

-

[SQL文]で指定したSQLパラメータを設定します。

  • [SQL文]にSQLパラメータを使用しない場合には表示されません。

  • [スキーマ定義]で表示された列名がMapperのスキーマに表示されます。

スキーマ定義/列名

必須

使用不可

SQLパラメータの名前を設定します。

  • [SQL文]にSQLパラメータを使用しない場合には表示されません。

スキーマ定義/型

必須

使用不可

SQLパラメータの型を選択します。

  • [SQL文]にSQLパラメータを使用しない場合には表示されません。

  • 「<Native型> (<内部データ型>)」形式で表示されます。

    Native型

    各RDBMSの固有のデータ型です。

    内部データ型

    内部で使用しているデータ型です。

    詳細については、「内部データ型」を参照してください。

プロパティアクション

項目名

説明

備考

テーブルブラウザの起動

テーブルブラウザを起動します。

操作方法については、「テーブルブラウザ」を参照してください。

  • [接続先]が選択されている場合、有効になります。

SQLウィザードの起動

SQLウィザードを起動します。

操作方法については、「SQLウィザード(更新系)」を参照してください。

  • SQLウィザードでは、SQL文の新規作成、およびSQLウィザードで作成したSQL文の編集が可能です。

    • SQLウィザードを使用せずに手動で[SQL文]を指定した場合、指定されたSQL文をSQLウィザードで編集することはできません。

    • SQLウィザードを使用して作成した[SQL文]が手動で変更されている場合、変更されたSQL文をSQLウィザードで再編集することはできません。新規作成するか、SQLウィザードで作成したSQL文を編集するかをダイアログで選択して起動してください。

書き込み設定

項目名

必須/省略可

変数の使用

説明

備考

クエリタイムアウトを有効にする

必須

使用不可

クエリタイムアウトを有効にするかどうかを選択します。

[チェックあり]

クエリタイムアウトを設定します。

[チェックなし]

(デフォルト)

クエリタイムアウトを設定しません。

  • [チェックなし]とした場合、JDBCドライバのクエリタイムアウトを指定しない場合の動作にしたがいます。

クエリタイムアウト(秒)

必須

使用可

クエリタイムアウトを設定します。

  • [クエリタイムアウトを有効にする][チェックあり]とした場合、有効になります。

  • 入力できる値は「0~2147483647」です。

  • 本プロパティで入力した値は、JDBCのsetQueryTimeout()メソッドの引数に指定されます。

  • 一般的に、クエリタイムアウトは実行を待つ秒数を設定しますが、データベースや使用するJDBCドライバによって動作が異なる場合があります。

コメント

項目名

必須/省略可

変数の使用

説明

備考

コメント

省略可

使用不可

このコネクターの簡単な説明を記述することができます。

 

スキーマ

入力スキーマ

[スキーマ定義]の設定により、カラム数が異なります。

= 備考 =

スキーマ構造については、「テーブルモデル型 」を参照してください。

出力スキーマ

ありません。

Mapperでのスキーマ読み込み

スキーマは自動で読み込まれます。

= 備考 =

詳細については、「スキーマ編集」を参照してください。

トランザクション

トランザクションをサポートしています。

PSPでの使用について

PSPで使用できます。

= 備考 =

PSPについては、「パラレルストリーミング処理」を参照してください。

使用できるコンポーネント変数

コンポーネント変数名

説明

備考

count

更新したデータの件数が格納されます。

  • デフォルト値はnullです。

注意

バッチ更新処理時には、入力データの件数が格納されます。

例:入力データ1件で複数のデータが更新された場合には、countには「1」が格納されます。また、更新が行われなかった場合にも、入力データの件数が格納されます。

error_code

エラー(SQLException)発生時、発生したエラーに対応するエラーコードが格納されます。

  • デフォルト値はnullです。

  • 正常終了時は「0」が格納されます。

注意

エラーコードは各ドライバの仕様に基づいています。

message_category

エラー発生時、発生したエラーに対応するメッセージコードのカテゴリが格納されます。

  • デフォルト値はnullです。

message_code

エラー発生時、発生したエラーに対応するメッセージコードのコードが格納されます。

  • デフォルト値はnullです。

message_level

エラー発生時、発生したエラーに対応するメッセージコードの重要度が格納されます。

  • デフォルト値はnullです。

error_type

エラー発生時、発生したエラーの種類が格納されます。

  • デフォルト値はnullです。

  • エラーの種類は、以下のような形式となります。

    例:「java.io.FileNotFoundException」

error_message

エラー発生時、発生したエラーのメッセージが格納されます。

  • デフォルト値はnullです。

error_trace

エラー発生時、発生したエラーのトレース情報が格納されます。

  • デフォルト値はnullです。

SQLパラメータ

更新系SQL実行処理では、SQLパラメータを使用することができます。

 

データベースコネクターでは、SQLパラメータを使用した場合、バッチ更新処理を行います。

バッチ更新とは複数のSQL文を一度にデータベースに送り、処理させる機能です。

一つ一つSQL文を実行する場合に比べパフォーマンスが向上します。

 

注意

データベースの種類や型によっては、SQLパラメータを使用してもバッチ更新処理にならない場合があります。

= 備考 =

詳細については、各コネクターの「メッセージコード、例外メッセージ、制限事項」を参照してください。

SQLパラメータの使用方法

SQLパラメータは「?{name}」と記述します。「name」は任意に指定できます。

SQLパラメータはMapperで値を設定します。

 

たとえば、SQL文に「insert into test_table values (?{col1}, ?{col2}, ?{col3})」と記述した場合、3つのSQLパラメータ(col1、col2、col3)が動的に変更できます。

この更新系SQL実行処理をMapperの出力先に設定すると、Mapperの出力スキーマにcol1、col2、col3が表示されます。Mapperでcol1、col2、col3それぞれにマッピングすることで値を設定します。

  • 文字列型をSQLパラメータに指定する場合にはシングルクォーテーションで囲いません。

注意

[SQL文]にSQLパラメータを使用しない場合にはSQL文はプリコンパイルされません。

プリコンパイルしたSQL文を使用する場合にはSQLパラメータを使用してください。