Component family |
Databases/MySQL |
|
Function |
Iterates on all columns of a given table through a defined Mysql |
|
Purpose |
Lists all column names of a given Mysql table. |
|
Basic settings |
Component list |
Select the tMysqlConnection |
|
Table name |
Enter the name of the table. |
Dynamic settings |
Click the [+] button to add a row in the table and fill Once a dynamic parameter is defined, the Component List For more information on Dynamic settings and context |
|
Global Variables |
COLUMN_NAME: the name of the column currently iterated DATA_TYPE: the data type of the column currently iterated COLUMN_DEFAULT: the default value of the column currently IS_NULLABLE: nullability of the column currently COLUMN_KEY: the key indicator of the column currently CHARACTER_MAXIMUM_LENGTH: the maximum length in number of NUMERIC_PRECISION: the data precision of the column NUMERIC_SCALE: the scale in digits allowed in the column NB_COLUMN: the number of columns iterated upon so far. ERROR_MESSAGE: the error message generated by the A Flow variable functions during the execution of a component while an After variable To fill up a field or expression with a variable, press Ctrl + For further information about variables, see Talend Studio |
|
Usage |
This component is to be used along with Mysql components, |
|
Log4j |
The activity of this component can be logged using the log4j feature. For more information on this feature, see Talend Studio User 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. |
|
Limitation |
n/a |
The following Java scenario creates a five-component job that iterates on a given
table name from a Mysql database using a Where clause and lists all column names present
in the table.
-
Drop the following components from the Palette onto the design workspace: tMysqlConnection, tMysqlTableList, tMysqlColumnList, tFixedFlowInput, and tLogRow.
-
Connect tMysqlConnection to tMysqlTableList using an OnSubjobOk link.
-
Connect tMysqlTableList, tMysqlColumnList, and tFixedFlowInput using Iterate
links. -
Connect tFixedFlowInput to tLogRow using a Row
Main link.
-
In the design workspace, select tMysqlConnection and click the Component tab to define its basic settings.
-
In the Basic settings view, set the database
connection details manually or select them from the context variable list,
through a Ctrl+Space click in the corresponding
field if you have stored them locally as Metadata DB connection entries.
For more information about Metadata, see Talend Studio
User Guide.
In this example, we want to connect to a Mysql database called
customers.
-
In the design workspace, select tMysqlTableList and click the Component tab to define its basic settings.
-
On the Component list, select the relevant
Mysql connection component if more than one connection is used. -
Enter a Where clause using the right syntax in the corresponding field to
iterate on the table name(s) you want to list on the console.In this scenario, the table we want to iterate on is called
customer. -
In the design workspace, select tMysqlColumnList and click the Component tab to define its basic settings.
-
On the Component list, select the relevant
Mysql connection component if more than one connection is used. -
In the Table name field, enter the name of
the DB table you want to list its column names.In this scenario, we want to list the columns present in the DB table called
customer. -
In the design workspace, select tFixedFlowInput and click the Component tab to define its basic settings.
-
Set the Schema to Built-In and click the three-dot […] button next to Edit Schema to define the data you want to use as
input. In this scenario, the schema is made of two columns, the first for the
table name and the second for the column name.
-
Click OK to close the dialog box, and accept
propagating the changes when prompted by the system. The defined columns display
in the Values panel of the Basic settings view. -
Click in the Value cell for each of the two
defined columns and press Ctrl+Space to access
the global variable list. -
From the global variable list, select
((String)globalMap.get(“tMysqlTableList_1_CURRENT_TABLE”))
and
((String)globalMap.get(“tMysqlColumnList_1_COLUMN_NAME”))
for the TableName and ColumnName
respectively.
-
In the design workspace, select tLogRow.
-
Click the Component tab and define the basic
settings for tLogRow as needed. -
Save your job and press F6 to execute
it.
The name of the DB table is displayed on the console along with all its column
names.