August 17, 2023

tELTOracleOutput – Docs for ESB 5.x

tELTOracleOutput

tELTOracleOutput.png

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

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.

    Use_Case_tELTOracleOutput1.png

Configuring the components

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

    Use_Case_tELTOracleOutput2.png
  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.

    Use_Case_tELTOracleOutput2.png

    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.

    use_case-tetloracleoutput3half.png
  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.

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

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

    use_case_teltoracleoutput_5_query.png

    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.

    use_case_teltoracleoutput6_top.png

    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.

    use_case_teltoracleoutput6_bot.png

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.

    Use_Case_tELTOracleOutput7.png

Document get from Talend https://help.talend.com
Thank you for watching.
Subscribe
Notify of
guest
0 Comments
Inline Feedbacks
View all comments
0
Would love your thoughts, please comment.x
()
x