tELTOracleOutput - 6.1

Talend Components Reference Guide

EnrichVersion
6.1
EnrichProdName
Talend Big Data
Talend Big Data Platform
Talend Data Fabric
Talend Data Integration
Talend Data Management Platform
Talend Data Services Platform
Talend ESB
Talend MDM Platform
Talend Open Studio for Big Data
Talend Open Studio for Data Integration
Talend Open Studio for Data Quality
Talend Open Studio for ESB
Talend Open Studio for MDM
Talend Real-Time Big Data Platform
task
Data Governance
Data Quality and Preparation
Design and Development
EnrichPlatform
Talend Studio

tELTOracleOutput properties

The three ELT Oracle components are closely related, in terms of their operating conditions. These components should be used to handle Oracle database schemas to generate Insert, Update or Delete statements, including clauses, which are to be executed in the database output table defined.

Component family

ELT/Map/Oracle

 

Function

Carries out the action on the table specified and inserts the data according to the output schema defined the ELT Mapper.

Purpose

Executes the SQL Insert, Update and Delete statement to the Mysql database.

Basic Settings

Action on data

On the data of the table defined, you can perform the following operation:

Insert: Add new entries to the table. If duplicates are found, the Job stops.

Update: Updates entries in the table.

Delete: Deletes the entries which correspond to the entry flow.

MERGE: Updates and/or adds data to the table. Note that the options available for the MERGE operation are different to those available for the Insert, Update or Delete operations.

Note

Following global variables are available:

  • NB_LINE_INSERTED: Number of lines inserted during the Insert operation.

  • NB_LINE_UPDATED: Number of lines updated during the Update operation.

  • NB_LINE_DELETED: Number of lines deleted during the Delete operation.

  • NB_LINE_MERGED: Number of lines inserted and/or updated during the MERGE operation.

 

Schema and Edit schema

A schema is a row description, it defines the number of fields to be processed and passed on to the next component. The schema is either built-in or remotely stored in the Repository.

Click Edit schema to make changes to the schema. If the current schema is of the Repository type, three options are available:

  • View schema: choose this option to view the schema only.

  • Change to built-in property: choose this option to change the schema to Built-in for local changes.

  • Update repository connection: choose this option to change the schema stored in the repository and decide whether to propagate the changes to all the Jobs upon completion. If you just want to propagate the changes to the current Job, you can select No upon completion and choose this schema metadata again in the [Repository Content] window.

Since version 5.6, both the Built-In mode and the Repository mode are available in any of the Talend solutions.

 

 

Built-in: The schema is created and stored locally for this component only. Related topic: see Talend Studio User Guide.

 

 

Repository: The schema already exists and is stored in the Repository, hence can be reused. Related topic: see Talend Studio User Guide.

 

Where clauses for (for UPDATE and DELETE only)

Enter a clause to filter the data to be updated or deleted during the update or delete operations.

 

Use Merge Update (for MERGE)

Select this check box to update the data in the output table.

Column : Lists the columns in the entry flow.

Update : Select the check box which corresponds to the name of the column you want to update.

Use Merge Update Where Clause : Select this check box and enter the WHERE clause required to filter the data to be updated, if necessary.

Use Merge Update Delete Clause: Select this check box and enter the WHERE clause required to filter the data to be deleted and updated, if necessary.

 

Use Merge Insert (for MERGE)

Select this check box to insert the data in the table.

Column: Lists the entry flow columns.

Check All: Select the check box corresponding to the name of the column you want to insert.

Use Merge Update Where Clause: Select this check box and enter the WHERE clause required to filter the data to be inserted.

 

Default Table Name

Enter a default name for the table, between double quotation marks.

 

Default Schema Name

Enter a name for the default Oracle schema, between double quotation marks.

 

Use different table name

Select this check box to define a different output table name, between double quotation marks, in the Table name field which appears.

Advanced settings

Use Hint Options

Select this check box to activate the hint configuration area when you want to use a hint to optimize a query's execution. In this area, parameters are:

- HINT: specify the hint you need, using the syntax /*+ */.

- POSITION: specify where you put the hint in a SQL statement.

- SQL STMT: select the SQL statement you need to use.

 

tStatCatcher Statistics

Select this check box to gather the Job processing metadata at a Job level as well as at each component level.

Global Variables

NB_LINE: the number of rows read by an input component or transferred to an output component. This is an After variable and it returns an integer.

NB_LINE_INSERTED: the number of rows inserted. This is an After variable and it returns an integer.

ERROR_MESSAGE: the error message generated by the component when an error occurs. This is an After variable and it returns a string. This variable functions only if the Die on error check box is cleared, if the component has this check box.

A Flow variable functions during the execution of a component while an After variable functions after the execution of the component.

To fill up a field or expression with a variable, press Ctrl + Space to access the variable list and choose the variable to use from it.

For further information about variables, see Talend Studio User Guide.

Usage

tELTOracleOutput is to be used along with the tELTOracleInput and tELTOracleMap components. Note that the Output link to be used with these components must correspond strictly to the syntax of the table name.

Note

Note that the ELT components do not handle actual data flow but only schema information.

Log4j

If you are using a subscription-based version of the Studio, the activity of this component can be logged using the log4j feature. For more information on this feature, see Talend Studio User Guide.

For more information on the log4j logging levels, see the Apache documentation at http://logging.apache.org/log4j/1.2/apidocs/org/apache/log4j/Level.html.

Scenario: Using the Oracle MERGE function to update and add data simultaneously

This scenario describes a Job that allows you to add new customer information and update existing customer information in a database table using the Oracle MERGE command.

Linking the components

  1. Drop the following components from the Palette to the design workspace: tELTOracleInput, tELTOracleMap, and tELTOracleOutput.

  2. Label tELTOracleInput as new_customer, tELTOracleMap as ELT Mapper, and tELTOracleOutput as merge_data.

  3. Link tELTOracleInput to tELTOracleMap using a Row > New Output (table) connection.

    In the pop-up box, enter NEW_CUSTOMERS as the table name, which should be the actual database table name.

  4. Link tELTOracleMap to tELTOracleOutput using a Row > New Output (table) connection.

    In the pop-up box, enter customers_merge as the name of the database table, which holds the merge results.

Configuring the components

  1. Double-click the tELTOracleInput component to display its Basic settings view.

  2. Select Repository from the Schema list, click the [...] button preceding Edit schema, and select your database connection and the desired schema from the [Repository Content] dialog box.

    The selected schema name appears in the Default Table Name field automatically.

    In this use case, the database connection is Talend_Oracle and the schema is new_customers.

    Note

    In this use case, the input schema is stored in the Metadata node of the Repository tree view for easy retrieval. For further information concerning metadata, see Talend Studio User Guide.

    You can also select the input component by dropping the relevant schema from the Metadata area onto the design workspace and double-clicking tELTOracleInput from the [Components] dialog box. Doing so allows you to skip the steps of labeling the input component and defining its schema manually.

  3. Click the tELTOracleMap component to display its Basic settings view.

  4. Select Repository from the Property Type list, and select the same database connection that you use for the input components.

    All the database details are automatically retrieved.

    Leave the other settings as they are.

  5. Double-click the tELTOracleMap component to launch the ELT Map editor to set up the data transformation flow.

    Display the input table by clicking the green plus button at the upper left corner of the ELT Map editor and selecting the relevant table name in the [Add a new alias] dialog box.

    In this use case, the only input table is new_customers.

  6. Select all the columns in the input table and drop them to the output table.

  7. Click the Generated SQL Select query tab to display the query statement to be executed.

    Click OK to validate the ELT Map settings and close the ELT Map editor.

  8. Double-click the tELTOracleOutput component to display its Basic settings view.

    From the Action on data list, select MERGE.

    Click the Sync columns button to retrieve the schema from the preceding component.

    Select the Use Merge Update check box to update the data using Oracle's MERGE function.

  9. In the table that appears, select the check boxes for the columns you want to update.

    In this use case, we want to update all the data according to the customer ID. Therefore, select all the check boxes except the one for the ID column.

    Warning

    The columns defined as the primary key cannot and must not be made subject to updates.

  10. Select the Use Merge Insert check box to insert new data while updating the existing data by leveraging Oracle's MERGE function.

    In the table that appears, select the check boxes for the columns into which you want to insert new data.

    In this use case, we want to insert all the new customer data. Therefore, select all the check boxes by clicking the Check All check box.

  11. Fill the Default Table Name field with the name of the target table already existing in your database. In this example, fill in customers_merge.

  12. Leave the other parameters as they are.

Executing the Job

  1. Press Ctrl + S to save the Job.

  2. Press F6 to run the Job.

    The data is updated and inserted in the database. The query used is displayed on the console.