Database Table Functions
A special table type is used to handle database table lookups with optional caching in memory. All of the following column references may be either numeric (column index, starts at 0) or string (column name).
All functions without the parameter disableCommit=false
will not be commit after the function has executed.
The table lookup only supports int, string and date types.
Caution!
For MS SQL, the column type timestamp is not supported in tables accessed by MediationZone. Use column type datetime instead.Â
Please refer to the Notes section in the Database Functions page for details on allowed database data type.
The following functions for Database Table described here are:
sqlExec
The sqlExec function is used when updating and inserting data into tables. It returns an integer value stating how many rows were updated/inserted. SQL errors will cause runtime errors (the workflow aborts).
int sqlExec (
string dbProfile,
string sqlQuery )
Parameter | Description |
---|---|
| Name of the database where the table resides, including folder name. |
| SQL query to send to the database. Note that SQL statements must not end with ';'. Calls to stored procedures must be embedded in blocks. Examples - Valid for Oracle databases "<SQL query>" |
Returns | An integer equaling the number of rows updated or inserted. |
tableCreate
Returns a table that holds the result of a database query. SQL errors in the table lookup will cause runtime errors (workflow aborts).
table tableCreate (
string dbProfile,
string sqlQuery
boolean disableCommit)
Parameter | Description |
---|---|
| Name of the database where the table resides. |
| SQL query to send to the database. Note that SQL statements must not end with ';'. Only columns of type number, date and string are supported. |
(Deprecated from MediationZone 9.3.0.1) | An optional parameter to disable the commit statement from being performed at the end of every SQL transaction for this particular function. Setting this parameter to false will result in the commit statement to be performed at the end of every SQL transaction for this particular function. By default, the system has the disableCommit set to true unless otherwise changed via this parameter. It should be noted that on recent Oracle versions, the DBLink SQL transaction behaviour has changed, where every single SQL statement for remote database transaction requires a commit or rollback statement in order to close a connection. In addition, Redshift users should set this to false as every statement needs to be committed. |
Returns | A table |
kustoTableCreate
The kustoTableCreate function looks up information in Kusto databases. The resulting table is of the same type as that resulting from tableCreate, meaning that it can be used together with functions such as tableLookup, tableGet etc.
The format of this function is the following:Â
table kustoTableCreate(string profileName, string, databaseName, string query)
Parameter | Description |
---|---|
profileName | The name of the profile used. This should be an Azure Profile of the type Azure Data Explorer. |
databaseName | The name of the database in Azure. The cluster name is specified in the Azure profile. |
query | The query to apply to the database in question. This is written in the Kusto Query Language, see example below. |
The Kusto data types will be interpreted as the following types in the resulting table object:
Azure Type | APL Type |
---|---|
bool | boolean |
datetime | date |
dynamic | string |
int | int |
long | long |
real | bigdec |
string | string |
decimal | bigdec |
timespan | string |
tableCreateIndex
Creates an index for one or several columns of a table. This will greatly increase the efficiency of subsequent tableLookup calls on these columns using the equality operator. If the column already has an index, this function has no effect.
Parameter | Description |
---|---|
| A table object |
| A column index (starting with 0 for the first column), or name for which to create an index. At least one column must be specified. |
Returns | Nothing |
tableGet
The tableGet function returns the value of a table entry. The value is returned as an any object, which means the returned value is of the same type as the value extracted.
Parameter | Description |
---|---|
| A table object |
| The row index. The first row is indexed 0 (zero). |
| Column index or name. The first column is indexed 0 (zero). |
Returns | Any depending on the column type |
tableLookup
The tableLookup function returns a table containing all the rows of the original table matching the specified column value(s). At least one pair of (column, operator, value) group must be specified.
Parameter | Description |
---|---|
| A table object |
| Column index or name. The first column is indexed 0 (zero). |
| Operator specifying the range of the requested values. Possible operators are:
|
| Value(s) matching |
Returns | A table matching the query |
tableRowCount
The tableRowCount function returns the number of rows in a table.
Parameter | Description |
---|---|
| A table object |
Returns | An integer stating the number of rows found. |
tableGetMetaInfo
The tableGetMetaInfo function returns the column name, column type and index status.
Parameter | Description |
---|---|
| A table object |
Returns | A list where each element is of type |