SQLCreator
Generates FME features from the results of a SQL query against a database. One FME feature is created for each row of the results of the SQL Query.
Output Ports
Features that result from the SQL queries.
On reader errors, outputs a feature with the _reader_error attribute which contains the last error message from the reader.
Parameters
Select the database format and dataset, including any format-specific parameters.
You can leave the default, or use a selection from the Coordinate System Gallery.
Specify the SQL query using the text editor.
Multiple SQL commands can be delimited by a character specified using the keyword FME_SQL_DELIMITER, embedded at the very beginning of the SQL statement. The single character immediately following this keyword will be used to split the SQL which will then be sent to the database for execution. (Note: Include a space before the character.)
An individual statement may be preceded with a hyphen, indicating that errors should be ignored.
The following example contains two SQL commands where errors from the first command will be ignored:
FME_SQL_DELIMITER ;
-SELECT * FROM TABLEA;
SELECT * FROM TABLEB;
Enter the names of attributes to expose on the features created by the query. The attributes will be output in the same sequence as specified in the list.
Note: By default, the attributes of the resulting features are hidden. You can specify which attributes to expose by entering the attribute names. Click the browse button next to the Attributes to Expose parameter. You can also use a SQL statement to populate the list by pressing “Populate from SQL Query…” and entering a SQL query. The columns from the first matching feature will be used to populate the attributes list.
Usage Notes
Relationship to FeatureMerger
The FeatureMerger joins two datasets and uses a simple, single attribute key to match features. The FeatureMerger is also able to perform certain geometric operations on incoming features using its Merge Type parameter.
Relationship to InlineQuerier
If all the data to be queried already exists in a SQL-capable data source, it is always more efficient to use the SQLCreator or SQLExecutor, because this allows the queries and filtering of the data to be executed directly by the database before it enters the FME environment.
Relationship to DatabaseJoiner
The DatabaseJoiner is very useful and efficient when there exists a one-to-one or one-to-many relationship between data flowing through FME and data held within a database. If it can be used, the DatabaseJoiner can be more efficient than using either the InlineQuerier or SQLCreator/SQLExecutor, provided that the DatabaseJoiner key fields have indexes in the source database. The DatabaseJoiner is simple to use and does not require any knowledge of SQL.
Example
Editing Transformer Parameters
Using a set of menu options, transformer parameters can be assigned by referencing other elements in the workspace. More advanced functions, such as an advanced editor and an arithmetic editor, are also available in some transformers. To access a menu of these options, click beside the applicable parameter. For more information, see Transformer Parameter Menu Options.
Transformer Categories
Search FME Knowledge Center
Search for samples and information about this transformer on the FME Knowledge Center.