メイン コンテンツをスキップする

ユーザー定義のSQLテンプレートを使って、データベーステーブルで反復を実行し、そのコンテンツを削除する

以下のJavaシナリオでは、WHERE句を使用して 、MySQLデータベースからの特定のテーブル名で反復処理される3コンポーネントのジョブを作成します。次に、ユーザー定義のSQLテンプレートを使用して、DBMS上で直接テーブルのコンテンツを削除します。

Talendでサポートされているテクノロジーの詳細は、Talendコンポーネントをご覧ください。

高度な用途では、コンテンツを空にするテーブルを含むデータベースへの接続を作成することから始めます。

  • [Repository] (リポジトリー)ツリービューで[Metadata] (メタデータ)を展開し、[DB Connections] (データベース接続)を右クリックして、該当するデータベースへの接続を作成し、接続情報をローカルに保存します。

    メタデータの詳細は、Talend Studioユーザーガイドをご覧ください。

    またはtMysqlConnectionコンポーネントをデザインワークスペースにドロップし、接続の詳細を手動で入力します。

  • 作成したデータベース接続を[Repository] (リポジトリー)からデザインワークスペースにドロップします。

    [Components] (コンポーネント)ダイアログボックスが表示されます。

  • tMysqlConnectionを選択し、[OK]をクリックします。

    デザインワークスペースにtDBConnection_1コンポーネントが表示され、接続の詳細がすべて[Basic settings] (基本設定)ビューに自動的に入力されます。

  • [Palette] (パレット)から、tMysqlTableListコンポーネント(tDBTableList_1として表示)とtSQLTemplateコンポーネントをデザインワークスペースにドロップします。

  • [On Subjob Ok] (サブジョブがOKの場合)リンクを使って、tDBConnection_1tDBTableList_1に接続させます。

  • [Iterate] (反復処理)リンクを使って、tDBTableList_1tSQLTemplate に接続させます。

  • 必要であれば、tDBConnection_1をダブルクリックして[Basic settings] (基本設定)ビューを表示し、接続の詳細を確認します。

このサンプルでは、examplesという名前のMySQLデータベースに接続しようとしています。

  • デザインワークスペースでtDBTableList_1をダブルクリックして[Basic settings] (基本設定)ビューを表示し、設定を定義します。

  • 複数の接続が使われている場合は、[Component list] (コンポーネントリスト)ドロップダウンリストで該当するMySQL接続コンポーネントを選択します。

  • 対応するフィールドで適切な構文を使用してWHERE句を入力し、コンテンツを削除するテーブル名に反復を実行します。

    このシナリオでは、名前がexで始まるすべてのテーブルでジョブを反復処理します。

  • デザインワークスペースでtSQLTemplate_1をダブルクリックして[Basic settings] (基本設定)ビューを表示し、設定を定義します。

  • [Database Name] (データベース名)フィールドに、処理するテーブルが含まれているデータベースの名前を入力します。

  • 複数の接続が使われている場合は、[Component list] (コンポーネントリスト)ドロップダウンリストで該当するMySQL接続コンポーネントを選択します。

  • [Table name] (テーブル名)フィールドをクリックし、Ctrl + スペースを押してグローバル変数リストにアクセスします。

  • グローバル変数リストで、tDBTableList_1_CURRENT_TABLEを選択します。

ユーザー定義のSQLテンプレートを作成するには、次の手順に従います。

  • [Repository] (リポジトリー)ツリービューで、[SQL Templates] (SQLテンプレート)MySQLを続けて展開します。

  • UserDefinedを右クリックし、ドロップダウンリストから[Create SQLTemplate] (SQLテンプレートの作成)を選択します。

    [New SQLTemplate] (新しいSQLテンプレート)ウィザードが開きます。

  • 新しいSQLテンプレートの名前を入力し、必要に応じてその他のフィールドに入力し、[Finish] (終了)をクリックしてウィザードを閉じます。

    デザインワークスペースにSQLパターンエディターが開きます。

  • 既存のコードを削除し、目的のアクションを実行するために必要なコードを入力し、このサンプルでは、名前が"ex"で始まるテーブルすべてのコンテンツを削除します。

情報メモ注:

SQLテンプレートコードでは、テーブル名パラメーター(この例では__TABLE-NAME__)に添付された正しい変数名を使用する必要があります。使用されている変数名を表示するためには、tSQLTemplate_1コンポーネントの基本設定で[Table Name] (テーブル名)フィールドにマウスポインターを置きます。

  • Ctrl + Sを押して、ユーザー定義の新しいSQLテンプレートを保存します。

次のステップは、ユーザー定義の新しいSQLテンプレートをtSQLTemplate_1コンポーネントのSQLテンプレートリストに追加することです。

ユーザー定義のSQLテンプレートをSQLテンプレートリストに追加するには、次の手順に従います。

  • tSQLTemplate_1[Component] (コンポーネント)ビューで、[SQL Templates] (SQLテンプレート)タブをクリックして[SQL Template List] (SQLテンプレートリスト)を表示します。

  • [Add] (追加)ボタンをクリックし、2つのSQLテンプレート行を追加します。

  • 最初の行をクリックしてドロップダウン矢印を表示し、矢印をクリックしてSQLテンプレートリストを表示します。

  • 作成済みのユーザー定義SQLテンプレートをリストから選択します。

  • 2行目のSQLテンプレートが[Commit] (コミット)であることを確認します。

  • ジョブを保存し、F6を押して実行します。

名前がexで始まるMySQL examplesデータベース内のテーブルがすべて、コンテンツから削除されます。

このページは役に立ちましたか?

このページまたはコンテンツにタイポ、ステップの省略、技術的エラーなどの問題が見つかった場合はお知らせください。