---
title: "SQL Toolkit configuration"
description: ""
url: "https://docs.itrsgroup.com/docs/geneos/7.11.0/collection/sql-toolkit-config/index.html"
---
## Introduction

The SQL Toolkit plugin executes database queries that can run and display the output of the query in the dataview.

This plugin can connect to and extract data from the following supported databases:

- MySQL or MariaDB
- Microsoft SQL Server
- Oracle
- SAP ASE, formerly known as Sybase ASE.
- PostgreSQL
- IBM Db2

For more information, see [SQL Toolkit](https://docs.itrsgroup.com/docs/geneos/7.11.0/collection/sql-toolkit/index.html).

This is a sample query that is used in SQL Toolkit plugin:

```
select distinct
        from_unixtime(timestamp) as 'Date',
        varname as 'Managed Variable',
        description
        from event_table
        where unix_timestamp(now()) - timestamp <= 3600
        and severity >= 2
        order by Date asc
```


**Note**

  There is no need for a semicolon at the end of the query.



The data returned by the query is converted into a set of regular Geneos Managed Variables. All the standard Geneos Enterprise Management Framework functionality (e.g. setting rules, logging to a database) applies.


**Note**

  The order of the rows published in the dataview may not always adhere to the order returned by the query (for example, if "ORDER BY" is used in the query). This is due to performance considerations.



## Plugin Configuration

### Basic tab

![Basic tab - Connection option](https://docscdn.itrsgroup.com/geneos/images/plug-ins/sql-toolkit-basictab-config-connection-7-7.png)

![Basic tab - Connection variable option](https://docscdn.itrsgroup.com/geneos/images/plug-ins/sql-toolkit-basictab-config-connvariable-7-7.png)

| Basic Configuration | Description |
|---------------------|-------------|
| Queries | Lists a set of queries that will be used by the plugin to the database.
Each query should have a name and an SQL query code.
To view the list of data types that SQL Toolkit plugin does not support, see [Manage unsupported data types in SQL Toolkit](https://docs.itrsgroup.com/docs/geneos/7.11.0/collection/sql-toolkit/index.html#manage-unsupported-data-types).
Mandatory: Yes|
| Queries > Name | Name of the query.
For example,
```
Query1
```
Mandatory: Yes |
| Queries > Sql | Holds the SQL used to run the query.
**Caution**

 You should only enter SQL `SELECT` statements that return output in table format. Otherwise, if you try to use other types of SQL statements, this plugin may fail and display the error message: `Fail - Failed to get rows as Query was probably INSERT, DELETE, UPDATE or procedure call(0)`. 
For example:
```
select * from my_table
```
Mandatory: Yes|
| Queries > Row limit | Limits the number of rows to be returned by a query. The Netprobe is capable of handling multiple rows. However, setting a larger value for this option may overload the Netprobe and the database server. Mandatory: No
Default: `200` rows 
**Note**

You can override this setting with a Gateway-wide row limit that you can [configure in the Gateway Setup Editor](https://docs.itrsgroup.com/docs/geneos/7.11.0/processing/configuration/gateway_operating_environment/index.html#operatingenvironment--customdataviewmaxrows) under **Operating environment** > **Custom dataview max rows**. 
 |
| Options > Connection > Database | Defines all of the settings that need to be passed to the database.
The following are supported databases that you can connect to:
- [Connect to a Db2 database](#connect-to-a-db2-database)
- [Connect to a MySQL database](#connect-to-a-mysql-database)
- [Connect to an Oracle database](#connect-to-an-oracle-database)
- [Connect to a PostgreSQL database](#connect-to-a-postgresql-database)
- [Connect to an SQL Server database](#connect-to-an-sqlserver-database)
- [Connect to a Sybase database](#connect-to-a-sybase-database)
**Note**

 The Netprobe has a default of 10 maximum database connections. This number is configurable in the GSE in **Probes** > **Advanced** > **Max database connections**. 
 |
| Options > Connection > User Name | Name of the user with which to connect to the database.
Mandatory: No |
| Options > Connection > Password | The password with which to connect to the database. To set an encrypted password, click on the **Set Password** button, then enter and confirm the password to be used.
Mandatory: No |
| Options > Connection > Close connection after query | If set to true the sampler will close the connection to the database after each query. This frees resources for other processes that may connect to the database but makes the sampler a little less efficient. If false the connection remains open but is returned to a pool of connections for reuse within the netprobe.
When using a large sample interval (e.g. running queries every hour), setting this parameter to true will reduce database resources without significantly impacting Netprobe performance.
Mandatory: No
Default: false |
| Options > Connection variable | Connects to a static variable that contains the database connection details. See [Database Connections](https://docs.itrsgroup.com/docs/geneos/7.11.0/processing/gateway-administration/gateway_static_variables/index.html#database-connections) in Static Variables. |

#### Connect to a Db2 database

![Db2 database](https://docscdn.itrsgroup.com/geneos/images/plug-ins/sql-toolkit-db2-config-7-7.png)

| Field | Description |
|-------|-------------|
| Database Name | Alias of the database to use when running the query.
Mandatory: Yes |

##### Sample dataview

![Sample dataview](https://docscdn.itrsgroup.com/geneos/images/plug-ins/sql-toolkit-db2-dataview-6-3.png)

#### Connect to a MySQL database

![MySQL database](https://docscdn.itrsgroup.com/geneos/images/plug-ins/sql-toolkit-mysql-config-7-7.png)

<div class="table-container">
<table class="legacy-table" style="width: 100%;margin-left: 0;margin-right: auto;mc-table-style: url('../Resources/TableStyles/ref_2_col_table.css');" class="TableStyle-ref_2_col_table" cellspacing="0">
                    <col class="TableStyle-ref_2_col_table-Column-Column1"/>
                    <col class="TableStyle-ref_2_col_table-Column-Column1"/>
                    <thead>
                        <tr class="TableStyle-ref_2_col_table-Head-Header1">
                            <th class="TableStyle-ref_2_col_table-HeadE-Column1-Header1">Field</th>
                            <th class="TableStyle-ref_2_col_table-HeadD-Column1-Header1">Description</th>
                        </tr>
                    </thead>
                    <tbody>
                        <tr class="TableStyle-ref_2_col_table-Body-Body1">
                            <td class="TableStyle-ref_2_col_table-BodyE-Column1-Body1">Server Name<a name="connection_database_mysql_var-serverName"/></td>
                            <td class="TableStyle-ref_2_col_table-BodyD-Column1-Body1">
                                <p>Name of the MySQL server.</p>
                                <p>Mandatory: Yes</p>
                            </td>
                        </tr>
                        <tr class="TableStyle-ref_2_col_table-Body-Body1">
                            <td class="TableStyle-ref_2_col_table-BodyE-Column1-Body1">Database Name<a name="connection_database_mysql_var-databaseName"/></td>
                            <td class="TableStyle-ref_2_col_table-BodyD-Column1-Body1">
                                <p>Name of the database to use when running the
 query.</p>
                                <p>Mandatory: Yes</p>
                            </td>
                        </tr>
                        <tr class="TableStyle-ref_2_col_table-Body-Body1">
                            <td class="TableStyle-ref_2_col_table-BodyE-Column1-Body1">Port<a name="connection_database_mysql_var-port"/></td>
                            <td class="TableStyle-ref_2_col_table-BodyD-Column1-Body1">
                                <p>Port number that MySQL is listening on.</p>
                                <p>Mandatory: No</p>
                                <p>Default: <code>3306</code></p>
                            </td>
                        </tr>
                        <tr class="TableStyle-ref_2_col_table-Body-Body1">
                            <td class="TableStyle-ref_2_col_table-BodyE-Column1-Body1">
                                <p>SSL Configuration &gt; SSL Mode<a name="connection_database_mysql_sslMode"/></p>
                            </td>
                            <td class="TableStyle-ref_2_col_table-BodyD-Column1-Body1">
                                <p>Specifies the mode of SSL connection. The following are the possible values:</p>
                                <ul>
                                    <li>
                                        <p><code>Disabled</code> &#8212; allows insecure connections only.</p>
                                    </li>
                                    <li>
                                        <p><code>Preferred</code> &#8212; establishes a secure connection first. If that fails, then it will establish an unsecured connection.</p>
                                    </li>
                                    <li>
                                        <p><code>Required</code> &#8212; allows secure connections only. </p>
                                    </li>
                                    <li>
                                        <p><code>Verify_ca</code> &#8212; allows secure connections only and additionally verifies the server TLS certificate against the configured Certificate Authority (CA).</p>
                                    </li>
                                    <li>
                                        <p><code>Verify_identity</code> &#8212; allows secure connections only and additionally verifies if the server certificate matches the host, where the connection is being established.</p>
                                    </li>
                                </ul>
                                <p>Mandatory: No</p>
                            </td>
                        </tr>
                        <tr class="TableStyle-ref_2_col_table-Body-Body1">
                            <td class="TableStyle-ref_2_col_table-BodyE-Column1-Body1">
                                <p>SSL Configuration &gt; CA Certificate<a name="connection_database_mysql_caCert"/></p>
                            </td>
                            <td class="TableStyle-ref_2_col_table-BodyD-Column1-Body1">
                                <p>Path to the Certificate Authority (CA) certificate file used by the server. </p>
                                <p>Mandatory: No</p>
                            </td>
                        </tr>
                        <tr class="TableStyle-ref_2_col_table-Body-Body1">
                            <td class="TableStyle-ref_2_col_table-BodyE-Column1-Body1">
                                <p>SSL Configuration &gt; Client Certificate<a name="connection_database_mysql_clientCert"/></p>
                            </td>
                            <td class="TableStyle-ref_2_col_table-BodyD-Column1-Body1">
                                <p>Path to the client's public key certificate file. </p>
                                <p>Mandatory: No</p>
                            </td>
                        </tr>
                        <tr class="TableStyle-ref_2_col_table-Body-Body1">
                            <td class="TableStyle-ref_2_col_table-BodyE-Column1-Body1">
                                <p>SSL Configuration &gt; Client Key<a name="connection_database_mysql_clientKey"/></p>
                            </td>
                            <td class="TableStyle-ref_2_col_table-BodyD-Column1-Body1">
                                <p>Path to the client's private key file. </p>
                                <p>Mandatory: No</p>
                            </td>
                        </tr>
                        <tr class="TableStyle-ref_2_col_table-Body-Body1">
                            <td class="TableStyle-ref_2_col_table-BodyE-Column1-Body1">
                                <p>SSL Configuration &gt; Cipher suites<a name="connection_database_mysql_cipherSuites"/></p>
                            </td>
                            <td class="TableStyle-ref_2_col_table-BodyD-Column1-Body1">
                                <p>Specifies the list of allowed ciphers for secure connections.</p>
                                <p>Mandatory: No</p>
                            </td>
                        </tr>
                    </tbody>
                </table>
                
</div>

##### Sample dataview

![Sample dataview](https://docscdn.itrsgroup.com/geneos/images/plug-ins/sql-toolkit-mysql-dataview-6-3.png)

#### Connect to an Oracle database

![Oracle database](https://docscdn.itrsgroup.com/geneos/images/plug-ins/sql-toolkit-oracle-config-7-7.png)

| Field             | Description |
|------------------|-------------|
| Database Name | Name of the database to use when running the query. This is specified in the `tnsnames.ora` file. 
**Note**

 The full TNS definition in `tnsnames.ora` may be specified in place of the database name if `tnsnames.ora` is available. 
 If `tnsnames.ora` is available, doing so will override the details of the file in your Oracle directory. For example, if you have these configuration details: ```text
MYALIAS =
(DESCRIPTION =
(ADDRESS = (PROTOCOL = TCP)(HOST = MYHOST)(PORT = 1521))
(CONNECT_DATA =
(SERVER = DEDICATED)
(SID = MYDATABASE)
(SERVICE_NAME = MYDATABASE)
)
)
```
In the database name field, you may specify as follows:
```text
(DESCRIPTION=(ADDRESS=(PROTOCOL=TCP)(HOST=MYHOST)(PORT=1521))(CONNECT_DATA=(SERVER=DEDICATED)(SID=MYDATABASE)(SERVICE_NAME=MYDATABASE)))
```
Ensure that the alias is not included and the syntax does not have spaces. All necessary environment variables must also be set in the start-up environment of the Netprobe and adjusted for the operating system and start-up script in use. E.g. for UNIX/Linux components started from a bash script:
```bash
export ORACLE_HOME=/usr/local/oracle/instantclient_11_2
export LD_LIBRARY_PATH=${ORACLE_HOME}/lib64:${LD_LIBRARY_PATH}
```
Remember to adjust the path to the Oracle installation directory and choose the correct library subdirectory based on the architecture of the Netprobe in use.
To configure an Oracle SQL Toolkit using a connection string, copy and enter the sample below in the **Database Name** field:
```text
Sample connection string: (DESCRIPTION =   (
ADDRESS = (PROTOCOL = TCP)
HOST = 192.168.100.87)(PORT = 1521))
(CONNECT_DATA =   (SERVER = DEDICATED)
(SERVICE_NAME = geneosdb.mnl.itrsgroup.com)     )   )
```
You can use the connection string instead of the actual database name. This means that when the database name changes, you can still connect provided that the connection string remains intact. 
**Note**

If you encounter the `SQL-TOOLKIT Fail - OCI_INVALID_HANDLE(0)` error while configuring the Oracle database, ensure to define and export the `ORACLE_HOME` and `LD_LIBRARY_PATH` variables. 
 Mandatory: Yes |
| Application Name | Application name to be set to the connection created from the sampler to the Database Server.
Mandatory: No
Default: Netprobe (listen-port <Netprobe's port>) |

##### Connection timeout configuration for Oracle database

You can configure connection timeout using the `sqlnet.ora` or `tnsnames.ora` file to define how long the Oracle client will wait for a connection to be established before reporting an error. This is useful to manage network delays and ensure responsive Oracle database connections within the SQL Toolkit plugin.

Set the timeout value in seconds (X) in either of the following:

- `sqlnet.ora`

  ```configuration parameter
  SQLNET.OUTBOUND_CONNECT_TIMEOUT = X
  ```

- `tnsnames.ora`

  ```configuration parameter
  DESCRIPTION = (CONNECT_TIMEOUT = X)
  ```

#### Connect to an Oracle database with Kerberos authentication

1. Login via SSH as a user that is a part of the Active Directory.
2. Run the `kinit` command.
3. Configure an Oracle SQL Toolkit sampler without setting the username and the password.

##### Sample dataview

![Sample dataview](https://docscdn.itrsgroup.com/geneos/images/plug-ins/sql-toolkit-oracle-dataview-6-3.png)

#### Connect to a PostgreSQL database

![PostgreSQL database](https://docscdn.itrsgroup.com/geneos/images/plug-ins/sql-toolkit-postgresql-config-7-11.png)


**Note**


- PostgreSQL is not supported in IBM AIX platforms.
- PostgreSQL connections configured with SSL or TLS are not supported in SUSE 12 platforms.



<div class="table-container">
<table class="legacy-table" style="width: 100%;margin-left: 0;margin-right: auto;mc-table-style: url('../Resources/TableStyles/ref_2_col_table.css');" class="TableStyle-ref_2_col_table" cellspacing="0">
                    <col class="TableStyle-ref_2_col_table-Column-Column1"/>
                    <col class="TableStyle-ref_2_col_table-Column-Column1"/>
                    <thead xmlns="">
                        <tr class="TableStyle-ref_2_col_table-Head-Header1">
                            <th class="TableStyle-ref_2_col_table-HeadE-Column1-Header1">Field</th>
                            <th class="TableStyle-ref_2_col_table-HeadD-Column1-Header1">Description</th>
                        </tr>
                    </thead>
                    <tbody>
                        <tr class="TableStyle-ref_2_col_table-Body-Body1">
                            <td class="TableStyle-ref_2_col_table-BodyE-Column1-Body1">Server Name</td>
                            <td class="TableStyle-ref_2_col_table-BodyD-Column1-Body1">
                                <p>Name of the PostgreSQL server.</p>
                                <p>Mandatory: Yes</p>
                            </td>
                        </tr>
                        <tr class="TableStyle-ref_2_col_table-Body-Body1">
                            <td class="TableStyle-ref_2_col_table-BodyE-Column1-Body1">Database Name</td>
                            <td class="TableStyle-ref_2_col_table-BodyD-Column1-Body1">
                                <p>Name of the PostgreSQL database to use when running the query.</p>
                                <p>Mandatory: Yes</p>
                            </td>
                        </tr>
                        <tr class="TableStyle-ref_2_col_table-Body-Body1">
                            <td class="TableStyle-ref_2_col_table-BodyE-Column1-Body1">Port</td>
                            <td class="TableStyle-ref_2_col_table-BodyD-Column1-Body1">
                                <p>Port number of the PostgreSQL server.</p>
                                <p>Mandatory: Yes</p>
                            </td>
                        </tr>
                        <tr class="TableStyle-ref_2_col_table-Body-Body1">
                            <td class="TableStyle-ref_2_col_table-BodyE-Column1-Body1">Application Name</td>
                            <td class="TableStyle-ref_2_col_table-BodyD-Column1-Body1">
                                <p>Application name to be set to the connection created from the sampler to the Database Server.</p>
                                <p>Mandatory: No</p>
                                <p>Default: NetProbe (listen-port &lt;Netprobe's port&gt;)</p>
                            </td>
                        </tr>
                        <tr class="TableStyle-ref_2_col_table-Body-Body1">
                            <td class="TableStyle-ref_2_col_table-BodyE-Column1-Body1">Use Windows authentication</td>
                            <td class="TableStyle-ref_2_col_table-BodyD-Column1-Body1">
                                <p>Windows only. When enabled, the Netprobe authenticates to PostgreSQL using Windows SSPI instead of a password.</p>
                                <p>If <strong>Username</strong> and <strong>Password</strong> are blank, the Netprobe process identity is used. If both are set, the Netprobe impersonates that Windows user for the connection.</p>
                                <p><strong>Mutually exclusive</strong> with Advanced <strong>Kerberos</strong>. Do not enable this setting when Advanced <strong>Kerberos</strong> is configured.</p>
                                <p>Mandatory: No</p>
                                <p>Default: <code>false</code></p>
                            </td>
                        </tr>
                        <tr class="TableStyle-ref_2_col_table-Body-Body1">
                            <td class="TableStyle-ref_2_col_table-BodyE-Column1-Body1">SSL Configuration &gt; SSL Mode</td>
                            <td class="TableStyle-ref_2_col_table-BodyD-Column1-Body1">
                                <p>Mode of SSL connection. The following are the possible values:</p>
                                <ul>
                                    <li>
                                        <p><code>Allow</code> &#8212; establishes insecure connection first. If that fails, then it will establish a secure connection.</p>
                                    </li>
                                    <li>
                                        <p><code>Disable</code> &#8212; allows insecure connections only.</p>
                                    </li>
                                    <li>
                                        <p><code>Prefer</code> &#8212; establishes secure connection first. If that fails, then it will establish an insecure connection.</p>
                                    </li>
                                    <li>
                                        <p><code>Require</code> &#8212; allows secure connections only.</p>
                                    </li>
                                    <li>
                                        <p><code>Verify-ca</code> &#8212; allows secure connections only and additionally verifies the server TLS certificate against the configured Certificate Authority (CA).</p>
                                    </li>
                                    <li>
                                        <p><code>Verify-full</code> &#8212; allows secure connections only and additionally verifies if the server certificate matches the host, where the connection is being established.</p>
                                    </li>
                                </ul>
                                <p>Mandatory: Yes, if the SSL Configuration is enabled.</p>
                            </td>
                        </tr>
                        <tr class="TableStyle-ref_2_col_table-Body-Body1">
                            <td class="TableStyle-ref_2_col_table-BodyE-Column1-Body1">SSL Configuration &gt; CA Certificate</td>
                            <td class="TableStyle-ref_2_col_table-BodyD-Column1-Body1">
                                <p>Path to the Certificate Authority (CA) certificate file used by the server.</p>
                                <p>Mandatory: No</p>
                            </td>
                        </tr>
                        <tr class="TableStyle-ref_2_col_table-Body-Body1">
                            <td class="TableStyle-ref_2_col_table-BodyE-Column1-Body1">SSL Configuration &gt; Client Certificate</td>
                            <td class="TableStyle-ref_2_col_table-BodyD-Column1-Body1">
                                <p>Path to the client's public key certificate file.</p>
                                <p>Mandatory: No</p>
                            </td>
                        </tr>
                        <tr class="TableStyle-ref_2_col_table-Body-Body1">
                            <td class="TableStyle-ref_2_col_table-BodyE-Column1-Body1">SSL Configuration &gt; Client Key</td>
                            <td class="TableStyle-ref_2_col_table-BodyD-Column1-Body1">
                                <p>Path to the client's private key file.</p>
                                <p>Mandatory: No</p>
                            </td>
                        </tr>
                    </tbody>
                </table>
                
</div>


##### Sample dataview

![Sample dataview](https://docscdn.itrsgroup.com/geneos/images/plug-ins/sql-toolkit-postgresql-dataview2-6-3.png)

#### Connect to an SQL Server database

![SQL Server database](https://docscdn.itrsgroup.com/geneos/images/plug-ins/sql-toolkit-sqlServer-config-7-8.png)

<div class="table-container">
<table class="legacy-table" style="width: 100%;margin-left: 0;margin-right: auto;mc-table-style: url('../Resources/TableStyles/ref_2_col_table.css');" class="TableStyle-ref_2_col_table" cellspacing="0">
                    <col class="TableStyle-ref_2_col_table-Column-Column1"/>
                    <col class="TableStyle-ref_2_col_table-Column-Column1"/>
                    <thead xmlns="">
                        <tr class="TableStyle-ref_2_col_table-Head-Header1">
                            <th class="TableStyle-ref_2_col_table-HeadE-Column1-Header1">Field</th>
                            <th class="TableStyle-ref_2_col_table-HeadD-Column1-Header1">Description</th>
                        </tr>
                    </thead>
                    <tbody>
                        <tr class="TableStyle-ref_2_col_table-Body-Body1">
                            <td class="TableStyle-ref_2_col_table-BodyE-Column1-Body1">Server Name</td>
                            <td class="TableStyle-ref_2_col_table-BodyD-Column1-Body1">
                                <p>Name of the SQL Server.</p>
                                <p>When connecting to named instances the format should be <code>ServerName\InstanceName</code>. The format <code>ServerName</code> can be accepted if there is only once instance running on the database's host. On connection, Geneos will verify if the named instance actually matches the one listening on the specified port.</p>
                                <p>Mandatory: Yes</p>
                                <p class="note">Note: Dynamic MS SQL instances are not supported.</p>
                            </td>
                        </tr>
                        <tr class="TableStyle-ref_2_col_table-Body-Body1">
                            <td class="TableStyle-ref_2_col_table-BodyE-Column1-Body1">Database Name</td>
                            <td class="TableStyle-ref_2_col_table-BodyD-Column1-Body1">
                                <p>Name of the database to use when running the query if the database name is not specified in the query. If the query contains a valid database name, this value will be ignored.</p>
                                <p>Mandatory: No</p>
                            </td>
                        </tr>
                        <tr class="TableStyle-ref_2_col_table-Body-Body1">
                            <td class="TableStyle-ref_2_col_table-BodyE-Column1-Body1">Port</td>
                            <td class="TableStyle-ref_2_col_table-BodyD-Column1-Body1">
                                <p>Port number that SQL Server is listening on.</p>
                                <p>Mandatory: No</p>
                                <p>Default: <code>1433</code></p>
                            </td>
                        </tr>
                        <tr class="TableStyle-ref_2_col_table-Body-Body1">
                            <td class="TableStyle-ref_2_col_table-BodyE-Column1-Body1">MultiSubnetFailover</td>
                            <td class="TableStyle-ref_2_col_table-BodyD-Column1-Body1">
                                <p>Allows you to enable or disable the <code>MultiSubnetFailover</code> connection option of your SQL Server.</p>
                                <p>Mandatory: No</p>
                                <p>Default: <code>false</code></p>
                            </td>
                        </tr>
                        <tr class="TableStyle-ref_2_col_table-Body-Body1">
                            <td class="TableStyle-ref_2_col_table-BodyE-Column1-Body1">Application Name</td>
                            <td class="TableStyle-ref_2_col_table-BodyD-Column1-Body1">
                                <p>Application name to be set to the connection created from the sampler to the Database Server.</p>
                                <p>Mandatory: No</p>
                                <p>Default: NetProbe (listen-port &lt;Netprobe's port&gt;)</p>
                                <p class="note">Note: This option is only valid for Windows platforms.</p>
                            </td>
                        </tr>
                        <tr class="TableStyle-ref_2_col_table-Body-Body1">
                            <td class="TableStyle-ref_2_col_table-BodyE-Column1-Body1">Use Windows authentication</td>
                            <td class="TableStyle-ref_2_col_table-BodyD-Column1-Body1">
                                <p class="note">Note: Beginning Geneos 5.6.x, this plugin supports Windows authentication for Linux platforms. For more information, see <a href="https://social.technet.microsoft.com/wiki/contents/articles/36470.active-directory-using-kerberos-keytabs-to-integrate-non-windows-systems.aspx">Active Directory: Using Kerberos Keytabs to integrate non-Windows systems</a>.</p>
                                <p>Login using Windows authentication instead of ASE authentication. User accounts used in Windows authentication should have a <code>SeInteractiveLogonRight</code> right.</p>
                                <p>The credentials used for authentication are the username and password provided in the fields. On Windows, if the username and password fields are left blank, then the currently logged-on user executing the probe will be used. On Linux, if the username and password fields are left blank and <strong>useWindowsAuthentication</strong> is set to <code>true</code>, then Kerberos credentials from the <strong>Advanced</strong> tab are used: <strong>Credentials</strong> (keytab or credential cache), or <strong>Kerberos</strong> with no credentials (system default ticket cache). Prefer <strong>Credentials</strong> over the deprecated <strong>Principal</strong> and <strong>Key Tab</strong> fields.</p>
                                <p>You can specify a domain by entering the username using the UPN format or the down-level logon format. If invalid credentials are supplied, then the sampler will fall back to SQL authentication.</p>
                                <p>Mandatory: No</p>
                                <p>Default: <code>false</code></p>
                            </td>
                        </tr>
                        <tr class="TableStyle-ref_2_col_table-Body-Body1">
                            <td class="TableStyle-ref_2_col_table-BodyE-Column1-Body1">gMSA</td>
                            <td class="TableStyle-ref_2_col_table-BodyD-Column1-Body1">
                                <p>When enabled, the SQL Toolkit plugin authenticates to an SQL Server database using the specified Group Managed Service Account (gMSA).</p>
                                <p>Before enabling gMSA, ensure the following prerequisites are met:</p>
                                <ul>
                                    <li>
                                        <p>Windows Server 2012 R2 or later on the Netprobe machine.</p>
                                    </li>
                                    <li>
                                        <p>The Netprobe machine must be authorized to retrieve the gMSA password. This is done by specifying the machine in the <strong>PrincipalsAllowedToRetrieveManagedPassword</strong> attribute.</p>
                                    </li>
                                </ul>
                                <p>Accepted credential formats:</p>
                                <ul>
                                    <li>
                                        <p>DOMAIN\gMSA (for example, <code>QAMNL\gmsa-SQLSvc</code>)</p>
                                    </li>
                                    <li>
                                        <p>gMSA@DOMAIN.COM (for example, <code>gmsa-SQLSvc@QAMNL.COM</code>)</p>
                                    </li>
                                </ul>
                                <p>Mandatory: No</p>
                            </td>
                        </tr>
                        <tr class="TableStyle-ref_2_col_table-Body-Body1">
                            <td class="TableStyle-ref_2_col_table-BodyE-Column1-Body1">SSL Configuration &gt; Encryption option</td>
                            <td class="TableStyle-ref_2_col_table-BodyD-Column1-Body1">
                                <p>Specifies whether the data should be encrypted before sending it over the network. The following are the possible values:</p>
                                <ul>
                                    <li>
                                        <p><code>Optional</code> &#8212; allows clients to connect to the SQL Server using either encrypted or non-encrypted connections. In previous versions (ODBC 17 and below, OLE DB 18 and below), <strong>Optional</strong> previously meant no to SSL encryption.</p>
                                    </li>
                                    <li>
                                        <p><code>Mandatory</code> &#8212; TLS encryption is mandatory for all connections between Netprobe and the SQL Server. This option ensures that all communication between Netprobe and the server is encrypted. In previous versions (ODBC 17 and below, OLE DB 18 and below), <strong>Mandatory</strong> previously meant yes to SSL encryption.</p>
                                    </li>
                                    <li>
                                        <p><code>Strict</code> &#8212; combines encryption with robust certificate validation. The server certificate is checked instead of relying on the Trust Server Certificate setting. If the certificate is invalid, expired, or not from a trusted authority, the connection is rejected. This mode ensures encrypted, trusted, and secure communication.</p>
                                    </li>
                                </ul>
                                <p>Default: <code>Optional</code></p>
                            </td>
                        </tr>
                        <tr class="TableStyle-ref_2_col_table-Body-Body1">
                            <td class="TableStyle-ref_2_col_table-BodyE-Column1-Body1">SSL Configuration &gt; Encryption option &gt; Optional/Mandatory &gt; Trust server certificate</td>
                            <td class="TableStyle-ref_2_col_table-BodyD-Column1-Body1">
                                <p>Enabling or disabling the Trust Server Certificate option affects how the Netprobe handles the server's SSL certificate during the connection process:</p>
                                <ul>
                                    <li>
                                        <p><code>Enabled</code> &#8212; Netprobe does not validate the server's SSL certificate. This means that even if the certificate is self-signed or not issued by a trusted CA, the Netprobe will still establish the connection without raising any certificate-related errors.</p>
                                    </li>
                                    <li>
                                        <p><code>Disabled</code> &#8212; Netprobe validates the server's SSL certificate using trusted root certificates, which are managed by the OS and may be stored in Certificate Store or Certificate Authority Store. This validation ensures that the certificate is appropriately signed by a trusted Certificate Authority (CA) and matches the server's hostname.</p>
                                    </li>
                                </ul>
                            </td>
                        </tr>
                        <tr class="TableStyle-ref_2_col_table-Body-Body1">
                            <td class="TableStyle-ref_2_col_table-BodyE-Column1-Body1">SSL Configuration &gt; Encryption option &gt; Optional/Mandatory &gt; Hostname in certificate</td>
                            <td class="TableStyle-ref_2_col_table-BodyD-Column1-Body1">
                                <p>Specifies the expected hostname in the server's certificate during encryption negotiation if it's different from the default value derived from <code>Addr</code>/<code>Address</code>/<code>Server</code>.</p>
                                <p>This setting is ignored when <strong>TrustServerCertificate</strong> is <code>true</code>.</p>
                            </td>
                        </tr>
                        <tr class="TableStyle-ref_2_col_table-Body-Body1">
                            <td class="TableStyle-ref_2_col_table-BodyE-Column1-Body1">SSL Configuration &gt; Encryption option &gt; Strict &gt; Server certificate</td>
                            <td class="TableStyle-ref_2_col_table-BodyD-Column1-Body1">
                                <p>Specifies the path to a certificate file to check if an exact match against the SQL Server TLS/SSL certificate.</p>
                            </td>
                        </tr>
                        <tr class="TableStyle-ref_2_col_table-Body-Body1">
                            <td class="TableStyle-ref_2_col_table-BodyE-Column1-Body1">SSL Configuration &gt; Encryption option &gt; Strict &gt; Hostname in certificate</td>
                            <td class="TableStyle-ref_2_col_table-BodyD-Column1-Body1">
                                <p>Specifies the expected hostname in the server's certificate during encryption negotiation if it's different from the default value derived from <code>Addr</code>/<code>Address</code>/<code>Server</code>.</p>
                                <p>This setting is Ignored when <strong>ServerCertificate</strong> is specified.</p>
                            </td>
                        </tr>
                    </tbody>
                </table>
                
</div>


##### Sample dataview

![Sample dataview](https://docscdn.itrsgroup.com/geneos/images/plug-ins/sql-toolkit-sqlServer-dataview-6-3.png)

#### Connect to a Sybase database

![Sybase database](https://docscdn.itrsgroup.com/geneos/images/plug-ins/sql-toolkit-sybase-config-7-7.png)

<div class="table-container">
<table class="legacy-table" style="width: 100%;margin-left: 0;margin-right: auto;mc-table-style: url('../Resources/TableStyles/ref_2_col_table.css');" class="TableStyle-ref_2_col_table" cellspacing="0">
                    <col class="TableStyle-ref_2_col_table-Column-Column1" style="width: 105px;"/>
                    <col class="TableStyle-ref_2_col_table-Column-Column1"/>
                    <thead>
                        <tr class="TableStyle-ref_2_col_table-Head-Header1">
                            <th class="TableStyle-ref_2_col_table-HeadE-Column1-Header1">Field</th>
                            <th class="TableStyle-ref_2_col_table-HeadD-Column1-Header1">Description</th>
                        </tr>
                    </thead>
                    <tbody>
                        <tr class="TableStyle-ref_2_col_table-Body-Body1">
                            <td class="TableStyle-ref_2_col_table-BodyE-Column1-Body1">Interface Entry<a name="connection_database_sybase_var-interfaceEntry"/></td>
                            <td class="TableStyle-ref_2_col_table-BodyD-Column1-Body1">
                                <p>Name of the Sybase interface. This is
 specified in the sql.ini or interfaces file.</p>
                                <p class="note">Note: The Sybase database connection details are specified in the interfaces file.
                     This is a text file included in SAP ASE installation which contains the connection details of SAP ASE Database, including its host name and port.</p>
                                <p>Mandatory: Yes</p>
                            </td>
                        </tr>
                        <tr class="TableStyle-ref_2_col_table-Body-Body1">
                            <td class="TableStyle-ref_2_col_table-BodyE-Column1-Body1">Database Name<a name="connection_database_sybase_var-databaseName"/></td>
                            <td class="TableStyle-ref_2_col_table-BodyD-Column1-Body1">
                                <p>Name of the database to use when running the
 query.</p>
                                <p>Mandatory: Yes</p>
                            </td>
                        </tr>
                        <tr class="TableStyle-ref_2_col_table-Body-Body1">
                            <td class="TableStyle-ref_2_col_table-BodyE-Column1-Body1">Application Name<a name="connection_database_sybase_var-applicationName"/></td>
                            <td class="TableStyle-ref_2_col_table-BodyD-Column1-Body1">
                                <p>Application name to be set to the connection
 created from the sampler to the Database Server. The value should be the same in the <code>ocs.cfg</code> file.
</p>
                                <p>Mandatory: No</p>
                                <p>Default: NetProbe (listen-port &lt;Netprobe's
 port&gt;)
</p>
                            </td>
                        </tr>
                        <tr class="TableStyle-ref_2_col_table-Body-Body1">
                            <td class="TableStyle-ref_2_col_table-BodyE-Column1-Body1">Use Windows authentication<a name="connection_database_sybase_useWindowsAuthentication"/></td>
                            <td class="TableStyle-ref_2_col_table-BodyD-Column1-Body1">
                                <p>Login using Windows authentication instead of ASE
authentication. User accounts used in Windows authentication should have a <code>SeInteractiveLogonRight</code> right.</p>
<p>The credentials used for authentication are the username and password provided in the fields. On Windows, if the username and password fields are left blank, then the currently logged-on user executing the probe will be used. On Linux, if the username and password fields are left blank and <strong>useWindowsAuthentication</strong> is set to <code>true</code>, then Kerberos credentials from the <strong>Advanced</strong> tab are used: <strong>Credentials</strong> (keytab or credential cache), or <strong>Kerberos</strong> with no credentials (system default ticket cache). Prefer <strong>Credentials</strong> over the deprecated <strong>Principal</strong> and <strong>Key Tab</strong> fields.</p>
<p>You can specify a domain by entering the
username using the UPN format or the down-level logon
format. If invalid credentials are supplied,
then the sampler will fall back to SQL authentication.</p>
<p>Mandatory: No</p>
<p>Default: <code>false</code></p>
                            </td>
                        </tr>
                    </tbody>
                </table>
                
</div>

##### Sample dataview

![Sample dataview](https://docscdn.itrsgroup.com/geneos/images/plug-ins/sql-toolkit-sybase-dataview-6-3.png)

### Advanced tab

![Advanced tab](https://docscdn.itrsgroup.com/geneos/images/plug-ins/sql-toolkit-advancedtab-config-7-11.png)

![Keytab configuration in the Advanced tab](https://docscdn.itrsgroup.com/geneos/images/plug-ins/sql-toolkit-advancedtab-config-keytab-7-11.png)

| Field | Description |
|-------|-------------|
| Show headlines | Headlines showing the rows returned, query status and query time taken should be displayed. The following are the possible settings:
- `true` — Headlines should be displayed.
- `false` — Headlines should not be displayed.
Mandatory: No
It is generally not useful to set the plugin sample interval to a very small value, as most queries take some time to evaluate (if you are interested in real-time plots of data, the Active Chart feature of ActiveConsole may be more suitable). If the system attempts to sample before the current query has returned, the plugin will ignore the sample request. |
| Show row line | Each row should be numbered to indicate its place relative to the other rows. The following are the possible settings:
- `true` — Row numbers should be displayed in the dataview.
- `false` — Row numbers should not be displayed in the dataview.
Mandatory: No
Default: `false` |
| Query timeout | Number of seconds that a query will run before it is cancelled.
If the **Query timeout** is set and the timeout is reached before the query is finished, then the query will be cancelled and a `Fail` status will be displayed in the dataview.
Mandatory: No
Default: disabled |
| Kerberos | Kerberos authentication for SQL Toolkit. Use this section for:- PostgreSQL — GSSAPI authentication (keytab, credential cache, or system default). Mutually exclusive with **Use Windows authentication** on the PostgreSQL connection.
- SQL Server and Sybase — when **Use Windows authentication** is enabled on the connection.
**Note**

 Geneos does not ship Kerberos client tools. Keytab mode requires `kinit` and `klist` on the Netprobe host `PATH` for ticket renewal. Credential cache and system default modes do not run `kinit`. The ticket cache must already contain a valid ticket. 
If **Kerberos** is enabled with no **Credentials** child and no legacy **Principal** or **Key Tab**, the Netprobe uses the process ambient ticket cache (`KRB5CCNAME` or the platform default).
**Note**

 Starting with Geneos 5.6.x, this plugin supports Windows authentication for Linux platforms. For more information, see [Active Directory: Using Kerberos Keytabs to integrate non-Windows systems](https://social.technet.microsoft.com/wiki/contents/articles/36470.active-directory-using-kerberos-keytabs-to-integrate-non-windows-systems.aspx). 
If you run the Netprobe as a service on Windows, you must perform additional system configuration for Kerberos authentication to work. For more information, see [Additional steps for Windows Netprobe service](#additional-steps-for-windows-netprobe-service).
Mandatory: No |
| Kerberos > Credentials > Credential cache > Ccache Path | Path to a Kerberos ticket cache file. The Netprobe process user must be able to read the file.
Geneos does not create tickets in the cache. A valid ticket must already be present when the sampler connects.
Mandatory: Yes, when **Credential cache** is selected. |
| Kerberos > Credentials > Keytab > Keytab | File path to the keytab used for keytab-based login.
Mandatory: Yes, when **Keytab** credentials are selected. |
| Kerberos > Credentials > Keytab > Principal | Kerberos principal for keytab-based login (for example, `netprobe@EXAMPLE.COM`).
Mandatory: Yes, when **Keytab** credentials are selected. |

#### Kerberos support by database

| Database | Windows / SSPI flag | Keytab | Credential cache | System default |
|----------|---------------------|--------|------------------|----------------|
| PostgreSQL | **Use Windows authentication** (Windows only); mutually exclusive with **Kerberos** | Yes | Yes | Yes |
| SQL Server | **Use Windows authentication** required for Kerberos paths | Yes | Yes | Yes |
| Sybase | **Use Windows authentication** required for Kerberos paths | Yes | Yes | Yes |

#### Kerberos configuration examples

The following examples show sample connection XML for Kerberos authentication with PostgreSQL (GSSAPI and SSPI), SQL Server, and Sybase.

##### PostgreSQL - keytab (GSSAPI)

```xml
<connection>
  <database>
    <postgresql>
      <var-serverName><data>db.example.com</data></var-serverName>
      <var-databaseName><data>postgres</data></var-databaseName>
      <var-port><data>5432</data></var-port>
    </postgresql>
  </database>
  <kerberos>
    <credentials>
      <keytab>
        <keytab>/path/to/netprobe.keytab</keytab>
        <principal>netprobe@EXAMPLE.COM</principal>
      </keytab>
    </credentials>
  </kerberos>
</connection>
```

##### PostgreSQL - credential cache (GSSAPI)

```xml
<connection>
  <database>
    <postgresql>
      <var-serverName><data>db.example.com</data></var-serverName>
      <var-databaseName><data>postgres</data></var-databaseName>
      <var-port><data>5432</data></var-port>
    </postgresql>
  </database>
  <kerberos>
    <credentials>
      <ccache>
        <ccachePath>/path/to/krb5cc_netprobe</ccachePath>
      </ccache>
    </credentials>
  </kerberos>
</connection>
```

##### PostgreSQL - system default (GSSAPI)

```xml
<connection>
  <database>
    <postgresql>
      <var-serverName><data>db.example.com</data></var-serverName>
      <var-databaseName><data>postgres</data></var-databaseName>
      <var-port><data>5432</data></var-port>
    </postgresql>
  </database>
  <kerberos/>
</connection>
```

##### PostgreSQL - SSPI (Windows)

```xml
<connection>
  <database>
    <postgresql>
      <var-serverName><data>db.example.com</data></var-serverName>
      <var-databaseName><data>postgres</data></var-databaseName>
      <var-port><data>5432</data></var-port>
      <useWindowsAuthentication>true</useWindowsAuthentication>
    </postgresql>
  </database>
</connection>
```

##### SQL Server - credential cache

```xml
<connection>
  <database>
    <sqlServer>
      <var-serverName><data>db.example.com</data></var-serverName>
      <var-databaseName><data>master</data></var-databaseName>
      <useWindowsAuthentication>true</useWindowsAuthentication>
    </sqlServer>
  </database>
  <kerberos>
    <credentials>
      <ccache>
        <ccachePath>/path/to/krb5cc_netprobe</ccachePath>
      </ccache>
    </credentials>
  </kerberos>
</connection>
```

##### Sybase - credential cache

```xml
<connection>
  <database>
    <sybase>
      <var-interfaceEntry><data>SYBASE_SERVER</data></var-interfaceEntry>
      <var-databaseName><data>master</data></var-databaseName>
      <useWindowsAuthentication>true</useWindowsAuthentication>
    </sybase>
  </database>
  <kerberos>
    <credentials>
      <ccache>
        <ccachePath>/path/to/krb5cc_netprobe</ccachePath>
      </ccache>
    </credentials>
  </kerberos>
</connection>
```

#### Additional steps for Windows Netprobe service

If you are running the Netprobe as a service on Windows, then you need to perform some additional configuration on the system for Kerberos authentication to work:

1. Open the Services app. To find it, press  `⊞ Win` and type `services`.
2. In the Services app, look for `NetprobeNT_64`, or the service name you assigned to the Netprobe.
3. Right-click the Netprobe service and select **Properties**.
4. In the Properties window, select the **Log On** tab.
5. Under **This account:** enter the Kerberos credentials, then click **OK**:

![Windows Netprobe service log on properties](https://docscdn.itrsgroup.com/geneos/images/netprobe/windows-netprobe-service-properties-logon.png)

6. Restart the Netprobe service by right-clicking the service and selecting **Restart**.

### Enabling diagnostics

To help track down problems, the printing of debug statements can be enabled by adding a debug setting to the sampler set-up called SQL-TOOLKIT. This results in the plugin printing statements each time it attempts something of significance, for example, attempting to open a connection to a database, or being unable to connect to a database.

## Sample Queries

### Oracle

<div class="table-container">
<table class="legacy-table"   style="width: 100%;mc-table-style: url('../Resources/TableStyles/ref_2_col_table.css');margin-left: 0;margin-right: auto;" cellspacing="0">
                <col width="21%" class="TableStyle-ref_2_col_table-Column-Column1"/>
                <col width="40%" class="TableStyle-ref_2_col_table-Column-Column1"/>
                <col width="38%" class="TableStyle-ref_2_col_table-Column-Column1"/>
                <thead>
                    <tr class="TableStyle-ref_2_col_table-Head-Header1">
                        <th class="TableStyle-ref_2_col_table-HeadE-Column1-Header1">QUERY</th>
                        <th class="TableStyle-ref_2_col_table-HeadE-Column1-Header1">SQL*PLUS</th>
                        <th class="TableStyle-ref_2_col_table-HeadD-Column1-Header1">Netprobe</th>
                    </tr>
                </thead>
                <tbody valign="top">
                    <tr class="TableStyle-ref_2_col_table-Body-Body1">
                        <td class="TableStyle-ref_2_col_table-BodyE-Column1-Body1">Simple SELECT query</td>
                        <td class="TableStyle-ref_2_col_table-BodyE-Column1-Body1">
                            <div class="first last highlight-sql highlight"><pre xml:space="preserve"><span class="k">SELECT</span> <span class="o">*</span> <span class="k">FROM</span> <span class="n">tbl_name</span><span class="p">;</span>
</pre>
                            </div>
                        </td>
                        <td class="TableStyle-ref_2_col_table-BodyD-Column1-Body1">
                            <div class="first last highlight-sql highlight"><pre xml:space="preserve"><span class="k">SELECT</span> <span class="o">*</span> <span class="k">FROM</span> <span class="n">tbl_name</span>
</pre>
                            </div>
                        </td>
                    </tr>
                    <tr class="TableStyle-ref_2_col_table-Body-Body1">
                        <td class="TableStyle-ref_2_col_table-BodyE-Column1-Body1">Function call without parameters</td>
                        <td class="TableStyle-ref_2_col_table-BodyE-Column1-Body1">
                            <div class="first last highlight-sql highlight"><pre xml:space="preserve"><span class="k">SELECT</span> <span class="n">func_name</span> <span class="k">FROM</span> <span class="n">dual</span><span class="p">;</span>
</pre>
                            </div>
                        </td>
                        <td class="TableStyle-ref_2_col_table-BodyD-Column1-Body1">
                            <div class="first last highlight-sql highlight"><pre xml:space="preserve"><span class="k">SELECT</span> <span class="n">func_name</span> <span class="k">FROM</span> <span class="n">dual</span>
</pre>
                            </div>
                        </td>
                    </tr>
                    <tr class="TableStyle-ref_2_col_table-Body-Body1">
                        <td rowspan="2" class="TableStyle-ref_2_col_table-BodyE-Column1-Body1">Function call with input
 parameters</td>
                        <td class="TableStyle-ref_2_col_table-BodyE-Column1-Body1">
                            <div class="first last highlight-sql highlight"><pre xml:space="preserve"><span class="k">SELECT</span> <span class="n">func_name</span><span class="p">(</span><span class="s1">'str'</span><span class="p">,</span> <span class="mi">1</span><span class="p">)</span>
<span class="k">FROM</span> <span class="n">dual</span><span class="p">;</span>
</pre>
                            </div>
                        </td>
                        <td class="TableStyle-ref_2_col_table-BodyD-Column1-Body1">
                            <div class="first last highlight-sql highlight"><pre xml:space="preserve"><span class="k">SELECT</span> <span class="n">func_name</span><span class="p">(</span><span class="s1">'str'</span><span class="p">,</span> <span class="mi">1</span><span class="p">)</span> <span class="k">FROM</span> <span class="n">dual</span>
</pre>
                            </div>
                        </td>
                    </tr>
                    <tr class="TableStyle-ref_2_col_table-Body-Body1">
                        <td class="TableStyle-ref_2_col_table-BodyE-Column1-Body1">
                            <div class="first last highlight-sql highlight"><pre xml:space="preserve"><span class="k">SELECT</span> <span class="n">func_name</span><span class="p">(</span><span class="n">col1</span><span class="p">,</span> <span class="n">col2</span><span class="p">)</span>
<span class="k">FROM</span> <span class="n">tbl_name</span><span class="p">;</span>
</pre>
                            </div>
                        </td>
                        <td class="TableStyle-ref_2_col_table-BodyD-Column1-Body1">
                            <div class="first last highlight-sql highlight"><pre xml:space="preserve"><span class="k">SELECT</span> <span class="n">func_name</span><span class="p">(</span><span class="n">col1</span><span class="p">,</span> <span class="n">col2</span><span class="p">)</span>
<span class="k">FROM</span> <span class="n">tbl_name</span>
</pre>
                            </div>
                        </td>
                    </tr>
                    <tr class="TableStyle-ref_2_col_table-Body-Body1">
                        <td rowspan="2" class="TableStyle-ref_2_col_table-BodyE-Column1-Body1">Procedure call without
 parameters</td>
                        <td rowspan="2" class="TableStyle-ref_2_col_table-BodyE-Column1-Body1">
                            <div class="first last highlight-sql highlight"><pre xml:space="preserve"><span class="k">exec</span> <span class="n">proc_name</span><span class="p">;</span>
</pre>
                            </div>
                        </td>
                        <td class="TableStyle-ref_2_col_table-BodyD-Column1-Body1">
                            <div class="first last highlight-sql highlight"><pre xml:space="preserve"><span class="n">proc_name</span>
</pre>
                            </div>
                        </td>
                    </tr>
                    <tr class="TableStyle-ref_2_col_table-Body-Body1">
                        <td class="TableStyle-ref_2_col_table-BodyD-Column1-Body1">
                            <div class="first last highlight-sql highlight"><pre xml:space="preserve"><span class="k">BEGIN</span> <span class="n">proc_name</span><span class="p">;</span> <span class="k">END</span><span class="p">;</span>
</pre>
                            </div>
                        </td>
                    </tr>
                    <tr class="TableStyle-ref_2_col_table-Body-Body1">
                        <td class="TableStyle-ref_2_col_table-BodyE-Column1-Body1">Procedure call with input parameters</td>
                        <td class="TableStyle-ref_2_col_table-BodyE-Column1-Body1">
                            <div class="first last highlight-sql highlight"><pre xml:space="preserve"><span class="k">exec</span> <span class="n">proc_name</span><span class="p">(</span><span class="s1">'str'</span><span class="p">,</span> <span class="mi">1</span><span class="p">);</span>

<span class="k">BEGIN</span> <span class="n">proc_name</span> <span class="p">(</span><span class="s1">'str'</span><span class="p">,</span> <span class="mi">1</span><span class="p">);</span> <span class="k">END</span><span class="p">;</span>
</pre>
                            </div>
                        </td>
                        <td class="TableStyle-ref_2_col_table-BodyD-Column1-Body1">
                            <div class="first last highlight-sql highlight"><pre xml:space="preserve"><span class="k">BEGIN</span> <span class="n">proc_name</span> <span class="p">(</span><span class="s1">'str'</span><span class="p">,</span> <span class="mi">1</span><span class="p">);</span> <span class="k">END</span><span class="p">;</span>
</pre>
                            </div>
                        </td>
                    </tr>
                    <tr class="TableStyle-ref_2_col_table-Body-Body1">
                        <td class="TableStyle-ref_2_col_table-BodyE-Column1-Body1">Procedure call with output parameter</td>
                        <td class="TableStyle-ref_2_col_table-BodyE-Column1-Body1">
                            <div class="first last highlight-sql highlight"><pre xml:space="preserve"><span class="k">DECLARE</span> <span class="n">num</span> <span class="nb">NUMBER</span><span class="p">;</span>
<span class="k">BEGIN</span>
<span class="n">proc1</span><span class="p">(</span><span class="n">num</span><span class="p">);</span>  <span class="c1">-- as output</span>
<span class="n">proc2</span><span class="p">(</span><span class="n">num</span><span class="p">);</span>  <span class="c1">-- as input</span>
<span class="k">END</span><span class="p">;</span>
</pre>
                            </div>
                        </td>
                        <td class="TableStyle-ref_2_col_table-BodyD-Column1-Body1">
                            <div class="first last highlight-sql highlight"><pre xml:space="preserve"><span class="k">DECLARE</span> <span class="n">num</span> <span class="nb">NUMBER</span><span class="p">;</span>
<span class="k">BEGIN</span>
<span class="n">proc1</span><span class="p">(</span><span class="n">num</span><span class="p">);</span>
<span class="n">proc2</span><span class="p">(</span><span class="n">num</span><span class="p">);</span>
<span class="k">END</span><span class="p">;</span>
</pre>
                            </div>
                        </td>
                    </tr>
                </tbody>
            </table>
            
</div>


**Note**

  Cursor return type is only supported in Oracle.


### Sybase

<div class="table-container">
<table class="legacy-table"   class="TableStyle-ref_3_col_table" style="width: 100%;mc-table-style: url('../Resources/TableStyles/ref_3_col_table.css');margin-left: 0;margin-right: auto;" cellspacing="0">
                    <col width="21%" class="TableStyle-ref_3_col_table-Column-Column1"/>
                    <col width="40%" class="TableStyle-ref_3_col_table-Column-Column1"/>
                    <col width="38%" class="TableStyle-ref_3_col_table-Column-Column1"/>
                    <thead>
                        <tr class="TableStyle-ref_3_col_table-Head-Header1">
                            <th class="TableStyle-ref_3_col_table-HeadE-Column1-Header1">QUERY</th>
                            <th class="TableStyle-ref_3_col_table-HeadE-Column1-Header1">ISQL</th>
                            <th class="TableStyle-ref_3_col_table-HeadD-Column1-Header1">Netprobe</th>
                        </tr>
                    </thead>
                    <tbody valign="top">
                        <tr class="TableStyle-ref_3_col_table-Body-Body1">
                            <td class="TableStyle-ref_3_col_table-BodyE-Column1-Body1">Simple SELECT query</td>
                            <td class="TableStyle-ref_3_col_table-BodyE-Column1-Body1">
                                <div class="first last highlight-sql highlight"><pre xml:space="preserve"><span class="k">SELECT</span> <span class="o">*</span> <span class="k">FROM</span> <span class="n">tbl_name</span>
<span class="k">GO</span>
</pre>
                                </div>
                            </td>
                            <td class="TableStyle-ref_3_col_table-BodyD-Column1-Body1">
                                <div class="first last highlight-sql highlight"><pre xml:space="preserve"><span class="k">SELECT</span> <span class="o">*</span> <span class="k">FROM</span> <span class="n">tbl_name</span>
</pre>
                                </div>
                            </td>
                        </tr>
                        <tr class="TableStyle-ref_3_col_table-Body-Body1">
                            <td class="TableStyle-ref_3_col_table-BodyE-Column1-Body1">Function call without parameters</td>
                            <td class="TableStyle-ref_3_col_table-BodyE-Column1-Body1">
                                <div class="first last highlight-sql highlight"><pre xml:space="preserve"><span class="k">SELECT</span> <span class="n">dbo</span><span class="p">.</span><span class="n">func_name</span><span class="p">()</span>
<span class="k">GO</span>
</pre>
                                </div>
                            </td>
                            <td class="TableStyle-ref_3_col_table-BodyD-Column1-Body1">
                                <div class="first last highlight-sql highlight"><pre xml:space="preserve"><span class="k">SELECT</span> <span class="n">dbo</span><span class="p">.</span><span class="n">func_name</span><span class="p">()</span>
</pre>
                                </div>
                            </td>
                        </tr>
                        <tr class="TableStyle-ref_3_col_table-Body-Body1">
                            <td rowspan="2" class="TableStyle-ref_3_col_table-BodyE-Column1-Body1">Function call with input
 parameters</td>
                            <td class="TableStyle-ref_3_col_table-BodyE-Column1-Body1">
                                <div class="first last highlight-sql highlight"><pre xml:space="preserve"><span class="k">SELECT</span> <span class="n">dbo</span><span class="p">.</span><span class="n">func_name</span><span class="p">(</span><span class="s1">'str'</span><span class="p">,</span><span class="mi">1</span><span class="p">)</span>
<span class="k">GO</span>
</pre>
                                </div>
                            </td>
                            <td class="TableStyle-ref_3_col_table-BodyD-Column1-Body1">
                                <div class="first last highlight-sql highlight"><pre xml:space="preserve"><span class="k">SELECT</span> <span class="n">dbo</span><span class="p">.</span><span class="n">func_name</span><span class="p">(</span><span class="s1">'str'</span><span class="p">,</span><span class="mi">1</span><span class="p">)</span>
</pre>
                                </div>
                            </td>
                        </tr>
                        <tr class="TableStyle-ref_3_col_table-Body-Body1">
                            <td class="TableStyle-ref_3_col_table-BodyE-Column1-Body1">
                                <div class="first last highlight-sql highlight"><pre xml:space="preserve"><span class="k">SELECT</span> <span class="n">dbo</span><span class="p">.</span><span class="n">func_name</span><span class="p">(</span><span class="n">col1</span><span class="p">,</span> <span class="n">col2</span><span class="p">)</span>
<span class="k">FROM</span> <span class="n">tbl_name</span>
<span class="k">GO</span>
</pre>
                                </div>
                            </td>
                            <td class="TableStyle-ref_3_col_table-BodyD-Column1-Body1">
                                <div class="first last highlight-sql highlight"><pre xml:space="preserve"><span class="k">SELECT</span> <span class="n">dbo</span><span class="p">.</span><span class="n">func_name</span><span class="p">(</span><span class="n">col1</span><span class="p">,</span> <span class="n">col2</span><span class="p">)</span>
<span class="k">FROM</span> <span class="n">tbl_name</span>
</pre>
                                </div>
                            </td>
                        </tr>
                        <tr class="TableStyle-ref_3_col_table-Body-Body1">
                            <td class="TableStyle-ref_3_col_table-BodyE-Column1-Body1">Procedure call without parameters</td>
                            <td class="TableStyle-ref_3_col_table-BodyE-Column1-Body1">
                                <div class="first last highlight-sql highlight"><pre xml:space="preserve"><span class="k">EXECUTE</span> <span class="n">proc_name</span>
<span class="k">GO</span>
</pre>
                                </div>
                            </td>
                            <td class="TableStyle-ref_3_col_table-BodyD-Column1-Body1">
                                <blockquote class="first">
                                    <div class="highlight"><pre xml:space="preserve"><code class="hljs">EXECUTE proc_name</code></pre>
                                    </div>
                                </blockquote>
                                <div class="last admonition note">
                                    <p class="first admonition-title">
                              Note</p>
                                    <p class="last">If a procudure is
 returning multiple resultsets, only the
 first resultset will be displayed in the
 dataview.</p>
                                </div>
                            </td>
                        </tr>
                        <tr class="TableStyle-ref_3_col_table-Body-Body1">
                            <td rowspan="2" class="TableStyle-ref_3_col_table-BodyE-Column1-Body1">Procedure call with input
 parameters</td>
                            <td class="TableStyle-ref_3_col_table-BodyE-Column1-Body1">
                                <div class="first last highlight-sql highlight"><pre xml:space="preserve"><span class="k">EXECUTE</span> <span class="n">proc_name</span> <span class="s1">'str'</span><span class="p">,</span><span class="mi">1</span>
<span class="k">GO</span>
</pre>
                                </div>
                            </td>
                            <td class="TableStyle-ref_3_col_table-BodyD-Column1-Body1">
                                <div class="first last highlight-sql highlight"><pre xml:space="preserve"><span class="k">EXECUTE</span> <span class="n">proc_name</span> <span class="s1">'str'</span><span class="p">,</span><span class="mi">1</span>
</pre>
                                </div>
                            </td>
                        </tr>
                        <tr class="TableStyle-ref_3_col_table-Body-Body1">
                            <td class="TableStyle-ref_3_col_table-BodyE-Column1-Body1">
                                <div class="first last highlight-sql highlight"><pre xml:space="preserve"><span class="k">BEGIN</span> <span class="n">proc_name</span> <span class="s1">'str'</span><span class="p">,</span> <span class="mi">1</span> <span class="k">END</span>
<span class="k">GO</span>
</pre>
                                </div>
                            </td>
                            <td class="TableStyle-ref_3_col_table-BodyD-Column1-Body1">
                                <div class="first last highlight-sql highlight"><pre xml:space="preserve"><span class="k">BEGIN</span> <span class="n">proc_name</span> <span class="s1">'str'</span><span class="p">,</span> <span class="mi">1</span> <span class="k">END</span>
</pre>
                                </div>
                            </td>
                        </tr>
                        <tr class="TableStyle-ref_3_col_table-Body-Body1">
                            <td class="TableStyle-ref_3_col_table-BodyE-Column1-Body1">Procedure call with output parameter</td>
                            <td class="TableStyle-ref_3_col_table-BodyE-Column1-Body1">
                                <div class="first last highlight-sql highlight"><pre xml:space="preserve"><span class="k">DECLARE</span> <span class="o">@</span><span class="n">num</span> <span class="n">TINYINT</span>
<span class="k">EXECUTE</span> <span class="n">proc1</span> <span class="o">@</span><span class="n">num</span> <span class="k">OUTPUT</span>
<span class="k">EXECUTE</span> <span class="n">proc2</span> <span class="o">@</span><span class="n">num</span> <span class="k">IN</span>
</pre>
                                </div>
                            </td>
                            <td class="TableStyle-ref_3_col_table-BodyD-Column1-Body1">
                                <div class="first last highlight-sql highlight"><pre xml:space="preserve"><span class="k">DECLARE</span> <span class="o">@</span><span class="n">num</span> <span class="n">TINYINT</span>
<span class="k">EXECUTE</span> <span class="n">proc1</span> <span class="o">@</span><span class="n">num</span> <span class="k">OUTPUT</span>
<span class="k">EXECUTE</span> <span class="n">proc2</span> <span class="o">@</span><span class="n">num</span> <span class="k">IN</span>
</pre>
                                </div>
                            </td>
                        </tr>
                    </tbody>
                </table>
            
</div>

### MySQL

<div class="table-container">
<table class="legacy-table"   class="TableStyle-ref_3_col_table" style="width: 100%;mc-table-style: url('../Resources/TableStyles/ref_3_col_table.css');margin-left: 0;margin-right: auto;" cellspacing="0">
                    <col width="21%" class="TableStyle-ref_3_col_table-Column-Column1"/>
                    <col width="40%" class="TableStyle-ref_3_col_table-Column-Column1"/>
                    <col width="38%" class="TableStyle-ref_3_col_table-Column-Column1"/>
                    <thead>
                        <tr class="TableStyle-ref_3_col_table-Head-Header1">
                            <th class="TableStyle-ref_3_col_table-HeadE-Column1-Header1">QUERY</th>
                            <th class="TableStyle-ref_3_col_table-HeadE-Column1-Header1">MYSQL</th>
                            <th class="TableStyle-ref_3_col_table-HeadD-Column1-Header1">Netprobe</th>
                        </tr>
                    </thead>
                    <tbody valign="top">
                        <tr class="TableStyle-ref_3_col_table-Body-Body1">
                            <td class="TableStyle-ref_3_col_table-BodyE-Column1-Body1">Simple SELECT query</td>
                            <td class="TableStyle-ref_3_col_table-BodyE-Column1-Body1">
                                <div class="first last highlight-sql highlight"><pre xml:space="preserve"><span class="k">SELECT</span> <span class="o">*</span> <span class="k">FROM</span> <span class="n">tbl_name</span><span class="p">;</span>
</pre>
                                </div>
                            </td>
                            <td class="TableStyle-ref_3_col_table-BodyD-Column1-Body1">
                                <div class="first last highlight-sql highlight"><pre xml:space="preserve"><span class="k">SELECT</span> <span class="o">*</span> <span class="k">FROM</span> <span class="n">tbl_name</span>
</pre>
                                </div>
                            </td>
                        </tr>
                        <tr class="TableStyle-ref_3_col_table-Body-Body1">
                            <td rowspan="3" class="TableStyle-ref_3_col_table-BodyE-Column1-Body1">Function call without
 parameters</td>
                            <td class="TableStyle-ref_3_col_table-BodyE-Column1-Body1">
                                <div class="first last highlight-sql highlight"><pre xml:space="preserve"><span class="k">SELECT</span> <span class="n">func_name</span> <span class="k">FROM</span> <span class="n">dual</span><span class="p">;</span>
</pre>
                                </div>
                            </td>
                            <td class="TableStyle-ref_3_col_table-BodyD-Column1-Body1">
                                <div class="first last highlight-sql highlight"><pre xml:space="preserve"><span class="k">SELECT</span> <span class="n">func_name</span> <span class="k">FROM</span> <span class="n">dual</span>
</pre>
                                </div>
                            </td>
                        </tr>
                        <tr class="TableStyle-ref_3_col_table-Body-Body1">
                            <td class="TableStyle-ref_3_col_table-BodyE-Column1-Body1">
                                <div class="first last highlight-sql highlight"><pre xml:space="preserve"><span class="k">SELECT</span> <span class="n">func_name</span><span class="p">;</span>
</pre>
                                </div>
                            </td>
                            <td class="TableStyle-ref_3_col_table-BodyD-Column1-Body1">
                                <div class="first last highlight-sql highlight"><pre xml:space="preserve"><span class="k">SELECT</span> <span class="n">func_name</span>
</pre>
                                </div>
                            </td>
                        </tr>
                        <tr class="TableStyle-ref_3_col_table-Body-Body1">
                            <td colspan="2" class="TableStyle-ref_3_col_table-BodyD-Column1-Body1">
                                <div class="first last admonition note">
                                    <p class="first admonition-title">
                              Note</p>
                                    <p class="last">Function calls without
 table reference can be called with or
 without 'FROM dual'</p>
                                </div>
                            </td>
                        </tr>
                        <tr class="TableStyle-ref_3_col_table-Body-Body1">
                            <td rowspan="2" class="TableStyle-ref_3_col_table-BodyE-Column1-Body1">Function call with input
 parameters</td>
                            <td class="TableStyle-ref_3_col_table-BodyE-Column1-Body1">
                                <div class="first last highlight-sql highlight"><pre xml:space="preserve"><span class="k">SELECT</span> <span class="n">func_name</span><span class="p">(</span><span class="s1">'str'</span><span class="p">,</span> <span class="mi">1</span><span class="p">);</span>
</pre>
                                </div>
                            </td>
                            <td class="TableStyle-ref_3_col_table-BodyD-Column1-Body1">
                                <div class="first last highlight-sql highlight"><pre xml:space="preserve"><span class="k">SELECT</span> <span class="n">func_name</span><span class="p">(</span><span class="s1">'str'</span><span class="p">,</span> <span class="mi">1</span><span class="p">)</span>
</pre>
                                </div>
                            </td>
                        </tr>
                        <tr class="TableStyle-ref_3_col_table-Body-Body1">
                            <td class="TableStyle-ref_3_col_table-BodyE-Column1-Body1">
                                <div class="first last highlight-sql highlight"><pre xml:space="preserve"><span class="k">SELECT</span> <span class="n">func_name</span><span class="p">(</span><span class="n">col1</span><span class="p">,</span> <span class="n">col2</span><span class="p">)</span>
<span class="k">FROM</span> <span class="n">tbl_name</span><span class="p">;</span>
</pre>
                                </div>
                            </td>
                            <td class="TableStyle-ref_3_col_table-BodyD-Column1-Body1">
                                <div class="first last highlight-sql highlight"><pre xml:space="preserve"><span class="k">SELECT</span> <span class="n">func_name</span><span class="p">(</span><span class="n">col1</span><span class="p">,</span> <span class="n">col2</span><span class="p">)</span>
<span class="k">FROM</span> <span class="n">tbl_name</span>
</pre>
                                </div>
                            </td>
                        </tr>
                        <tr class="TableStyle-ref_3_col_table-Body-Body1">
                            <td class="TableStyle-ref_3_col_table-BodyE-Column1-Body1">Procedure call without parameters</td>
                            <td class="TableStyle-ref_3_col_table-BodyE-Column1-Body1">
                                <div class="first last highlight-sql highlight"><pre xml:space="preserve"><span class="k">CALL</span> <span class="n">proc_name</span><span class="p">;</span>
</pre>
                                </div>
                            </td>
                            <td class="TableStyle-ref_3_col_table-BodyD-Column1-Body1">
                                <blockquote class="first">
                                    <div class="highlight"><pre xml:space="preserve"><code class="hljs">CALL proc_name</code></pre>
                                    </div>
                                </blockquote>
                                <div class="last admonition note">
                                    <p class="first admonition-title">
                              Note</p>
                                    <p class="last">If a procudure is
 returning multiple resultsets, only the
 first resultset will be displayed in the
 dataview.</p>
                                </div>
                            </td>
                        </tr>
                        <tr class="TableStyle-ref_3_col_table-Body-Body1">
                            <td class="TableStyle-ref_3_col_table-BodyE-Column1-Body1">Procedure call with input parameters</td>
                            <td class="TableStyle-ref_3_col_table-BodyE-Column1-Body1">
                                <div class="first last highlight-sql highlight"><pre xml:space="preserve"><span class="k">CALL</span> <span class="n">proc_name</span><span class="p">(</span><span class="s1">'str'</span><span class="p">,</span><span class="mi">1</span><span class="p">);</span>
</pre>
                                </div>
                            </td>
                            <td class="TableStyle-ref_3_col_table-BodyD-Column1-Body1">
                                <div class="first last highlight-sql highlight"><pre xml:space="preserve"><span class="k">CALL</span> <span class="n">proc_name</span><span class="p">(</span><span class="s1">'str'</span><span class="p">,</span><span class="mi">1</span><span class="p">)</span>
</pre>
                                </div>
                            </td>
                        </tr>
                        <tr class="TableStyle-ref_3_col_table-Body-Body1">
                            <td class="TableStyle-ref_3_col_table-BodyE-Column1-Body1">Procedure call with output parameter</td>
                            <td class="TableStyle-ref_3_col_table-BodyE-Column1-Body1">
                                <div class="first last highlight-sql highlight"><pre xml:space="preserve"><span class="k">EXECUTE</span> <span class="n">proc1</span><span class="p">(</span><span class="o">@</span><span class="n">num</span><span class="p">);</span>  <span class="c1">--as output</span>
<span class="k">EXECUTE</span> <span class="n">proc2</span><span class="p">(</span><span class="o">@</span><span class="n">num</span><span class="p">);</span>  <span class="c1">--as input</span>
</pre>
                                </div>
                            </td>
                            <td class="TableStyle-ref_3_col_table-BodyD-Column1-Body1">
                                <div class="first last highlight-sql highlight"><pre xml:space="preserve"><span class="k">EXECUTE</span> <span class="n">proc1</span><span class="p">(</span><span class="o">@</span><span class="n">num</span><span class="p">);</span>
<span class="k">EXECUTE</span> <span class="n">proc2</span><span class="p">(</span><span class="o">@</span><span class="n">num</span><span class="p">)</span>
</pre>
                                </div>
                            </td>
                        </tr>
                    </tbody>
                </table>
            
</div>

### Db2

<div class="table-container">
<table class="legacy-table"   class="TableStyle-ref_3_col_table" style="width: 100%;mc-table-style: url('../Resources/TableStyles/ref_3_col_table.css');margin-left: 0;margin-right: auto;" cellspacing="0">
                    <col width="21%" class="TableStyle-ref_3_col_table-Column-Column1"/>
                    <col width="40%" class="TableStyle-ref_3_col_table-Column-Column1"/>
                    <col width="38%" class="TableStyle-ref_3_col_table-Column-Column1"/>
                    <thead>
                        <tr class="TableStyle-ref_3_col_table-Head-Header1">
                            <th class="TableStyle-ref_3_col_table-HeadE-Column1-Header1">QUERY</th>
                            <th class="TableStyle-ref_3_col_table-HeadE-Column1-Header1">DB2</th>
                            <th class="TableStyle-ref_3_col_table-HeadD-Column1-Header1">Netprobe</th>
                        </tr>
                    </thead>
                    <tbody valign="top">
                        <tr class="TableStyle-ref_3_col_table-Body-Body1">
                            <td class="TableStyle-ref_3_col_table-BodyE-Column1-Body1">Simple SELECT query</td>
                            <td class="TableStyle-ref_3_col_table-BodyE-Column1-Body1">
                                <div class="first last highlight-sql highlight"><pre xml:space="preserve"><span class="k">SELECT</span> <span class="o">*</span> <span class="k">FROM</span> <span class="n">tbl_name</span>
</pre>
                                </div>
                            </td>
                            <td class="TableStyle-ref_3_col_table-BodyD-Column1-Body1">
                                <div class="first last highlight-sql highlight"><pre xml:space="preserve"><span class="k">SELECT</span> <span class="o">*</span> <span class="k">FROM</span> <span class="n">tbl_name</span>
</pre>
                                </div>
                            </td>
                        </tr>
                        <tr class="TableStyle-ref_3_col_table-Body-Body1">
                            <td rowspan="2" class="TableStyle-ref_3_col_table-BodyE-Column1-Body1">Function call without
 parameters</td>
                            <td class="TableStyle-ref_3_col_table-BodyE-Column1-Body1">
                                <div class="first last highlight-sql highlight"><pre xml:space="preserve"><span class="k">SELECT</span> <span class="n">func_name</span>
<span class="k">FROM</span> <span class="n">SYSIBM</span><span class="p">.</span><span class="n">SYSDUMMY1</span>
</pre>
                                </div>
                            </td>
                            <td class="TableStyle-ref_3_col_table-BodyD-Column1-Body1">
                                <div class="first last highlight-sql highlight"><pre xml:space="preserve"><span class="k">SELECT</span> <span class="n">func_name</span>
<span class="k">FROM</span> <span class="n">SYSIBM</span><span class="p">.</span><span class="n">SYSDUMMY1</span>
</pre>
                                </div>
                            </td>
                        </tr>
                        <tr class="TableStyle-ref_3_col_table-Body-Body1">
                            <td class="TableStyle-ref_3_col_table-BodyE-Column1-Body1">
                                <div class="first last highlight-sql highlight"><pre xml:space="preserve"><span class="k">SELECT</span> <span class="o">*</span>
<span class="k">FROM</span> <span class="k">TABLE</span><span class="p">(</span><span class="n">func_name</span><span class="p">)</span>
</pre>
                                </div>
                            </td>
                            <td class="TableStyle-ref_3_col_table-BodyD-Column1-Body1">
                                <div class="first last highlight-sql highlight"><pre xml:space="preserve"><span class="k">SELECT</span> <span class="o">*</span>
<span class="k">FROM</span> <span class="k">TABLE</span><span class="p">(</span><span class="n">func_name</span><span class="p">)</span>
</pre>
                                </div>
                            </td>
                        </tr>
                        <tr class="TableStyle-ref_3_col_table-Body-Body1">
                            <td rowspan="3" class="TableStyle-ref_3_col_table-BodyE-Column1-Body1">Function call with input
 parameters</td>
                            <td class="TableStyle-ref_3_col_table-BodyE-Column1-Body1">
                                <div class="first last highlight-sql highlight"><pre xml:space="preserve"><span class="k">SELECT</span> <span class="n">func_name</span><span class="p">(</span><span class="s1">'str'</span><span class="p">,</span> <span class="mi">1</span><span class="p">)</span>
<span class="k">FROM</span> <span class="n">SYSIBM</span><span class="p">.</span><span class="n">SYSDUMMY1</span>
</pre>
                                </div>
                            </td>
                            <td class="TableStyle-ref_3_col_table-BodyD-Column1-Body1">
                                <div class="first last highlight-sql highlight"><pre xml:space="preserve"><span class="k">SELECT</span> <span class="n">func_name</span><span class="p">(</span><span class="s1">'str'</span><span class="p">,</span> <span class="mi">1</span><span class="p">)</span>
<span class="k">FROM</span> <span class="n">SYSIBM</span><span class="p">.</span><span class="n">SYSDUMMY1</span>
</pre>
                                </div>
                            </td>
                        </tr>
                        <tr class="TableStyle-ref_3_col_table-Body-Body1">
                            <td class="TableStyle-ref_3_col_table-BodyE-Column1-Body1">
                                <div class="first last highlight-sql highlight"><pre xml:space="preserve"><span class="k">SELECT</span> <span class="n">func_name</span><span class="p">(</span><span class="n">col1</span><span class="p">,</span> <span class="n">col2</span><span class="p">)</span>
<span class="k">FROM</span> <span class="n">tbl_name</span>
</pre>
                                </div>
                            </td>
                            <td class="TableStyle-ref_3_col_table-BodyD-Column1-Body1">
                                <div class="first last highlight-sql highlight"><pre xml:space="preserve"><span class="k">SELECT</span> <span class="n">func_name</span><span class="p">(</span><span class="n">col1</span><span class="p">,</span> <span class="n">col2</span><span class="p">)</span>
<span class="k">FROM</span> <span class="n">tbl_name</span>
</pre>
                                </div>
                            </td>
                        </tr>
                        <tr class="TableStyle-ref_3_col_table-Body-Body1">
                            <td class="TableStyle-ref_3_col_table-BodyE-Column1-Body1">
                                <div class="first last highlight-sql highlight"><pre xml:space="preserve"><span class="k">SELECT</span> <span class="o">*</span>
<span class="k">FROM</span> <span class="k">TABLE</span><span class="p">(</span><span class="n">func_name</span><span class="p">(</span><span class="s1">'str'</span><span class="p">,</span> <span class="mi">1</span><span class="p">))</span>
</pre>
                                </div>
                            </td>
                            <td class="TableStyle-ref_3_col_table-BodyD-Column1-Body1">
                                <div class="first last highlight-sql highlight"><pre xml:space="preserve"><span class="k">SELECT</span> <span class="o">*</span>
<span class="k">FROM</span> <span class="k">TABLE</span><span class="p">(</span><span class="n">func_name</span><span class="p">(</span><span class="s1">'str'</span><span class="p">,</span> <span class="mi">1</span><span class="p">))</span>
</pre>
                                </div>
                            </td>
                        </tr>
                        <tr class="TableStyle-ref_3_col_table-Body-Body1">
                            <td class="TableStyle-ref_3_col_table-BodyE-Column1-Body1">Procedure call without parameters</td>
                            <td class="TableStyle-ref_3_col_table-BodyE-Column1-Body1">
                                <div class="first last highlight-sql highlight"><pre xml:space="preserve"><span class="k">CALL</span> <span class="n">proc_name</span>
</pre>
                                </div>
                            </td>
                            <td class="TableStyle-ref_3_col_table-BodyD-Column1-Body1">
                                <div class="first last highlight-sql highlight"><pre xml:space="preserve"><span class="k">CALL</span> <span class="n">proc_name</span>
</pre>
                                </div>
                            </td>
                        </tr>
                        <tr class="TableStyle-ref_3_col_table-Body-Body1">
                            <td class="TableStyle-ref_3_col_table-BodyE-Column1-Body1">Procedure call with input parameters</td>
                            <td class="TableStyle-ref_3_col_table-BodyE-Column1-Body1">
                                <div class="first last highlight-sql highlight"><pre xml:space="preserve"><span class="k">CALL</span> <span class="n">proc_name</span><span class="p">(</span><span class="s1">'str'</span><span class="p">,</span><span class="mi">1</span><span class="p">)</span>
</pre>
                                </div>
                            </td>
                            <td class="TableStyle-ref_3_col_table-BodyD-Column1-Body1">
                                <div class="first last highlight-sql highlight"><pre xml:space="preserve"><span class="k">CALL</span> <span class="n">proc_name</span><span class="p">(</span><span class="s1">'str'</span><span class="p">,</span><span class="mi">1</span><span class="p">)</span>
</pre>
                                </div>
                            </td>
                        </tr>
                        <tr class="TableStyle-ref_3_col_table-Body-Body1">
                            <td class="TableStyle-ref_3_col_table-BodyE-Column1-Body1">Procedure call with output parameter</td>
                            <td class="TableStyle-ref_3_col_table-BodyE-Column1-Body1">
                                <div class="first last highlight-sql highlight"><pre xml:space="preserve"><span class="k">BEGIN</span>
<span class="k">DECLARE</span> <span class="n">num</span> <span class="nb">SMALLINT</span><span class="p">;</span>
<span class="k">CALL</span> <span class="n">proc1</span><span class="p">(</span><span class="n">num</span><span class="p">);</span> <span class="c1">-- as output</span>
<span class="k">CALL</span> <span class="n">proc2</span><span class="p">(</span><span class="n">num</span><span class="p">);</span> <span class="c1">-- as input</span>
<span class="k">END</span>
</pre>
                                </div>
                            </td>
                            <td class="TableStyle-ref_3_col_table-BodyD-Column1-Body1">
                                <div class="first last highlight-sql highlight"><pre xml:space="preserve"><span class="k">BEGIN</span>
<span class="k">DECLARE</span> <span class="n">num</span> <span class="nb">SMALLINT</span><span class="p">;</span>
<span class="k">CALL</span> <span class="n">proc1</span><span class="p">(</span><span class="n">num</span><span class="p">);</span>
<span class="k">CALL</span> <span class="n">proc2</span><span class="p">(</span><span class="n">num</span><span class="p">);</span>
<span class="k">END</span>
</pre>
                                </div>
                            </td>
                        </tr>
                    </tbody>
                </table>
                
</div>

### MS SQL Server

<div class="table-container">
<table class="legacy-table"   class="TableStyle-ref_3_col_table" style="width: 100%;mc-table-style: url('../Resources/TableStyles/ref_3_col_table.css');margin-left: 0;margin-right: auto;" cellspacing="0">
                    <col width="21%" class="TableStyle-ref_3_col_table-Column-Column1"/>
                    <col width="40%" class="TableStyle-ref_3_col_table-Column-Column1"/>
                    <col width="38%" class="TableStyle-ref_3_col_table-Column-Column1"/>
                    <thead>
                        <tr class="TableStyle-ref_3_col_table-Head-Header1">
                            <th class="TableStyle-ref_3_col_table-HeadE-Column1-Header1">QUERY</th>
                            <th class="TableStyle-ref_3_col_table-HeadE-Column1-Header1">ISQL</th>
                            <th class="TableStyle-ref_3_col_table-HeadD-Column1-Header1">Netprobe</th>
                        </tr>
                    </thead>
                    <tbody valign="top">
                        <tr class="TableStyle-ref_3_col_table-Body-Body1">
                            <td class="TableStyle-ref_3_col_table-BodyE-Column1-Body1">Simple SELECT query</td>
                            <td class="TableStyle-ref_3_col_table-BodyE-Column1-Body1">
                                <div class="first last highlight-sql highlight"><pre xml:space="preserve"><span class="k">SELECT</span> <span class="o">*</span> <span class="k">FROM</span> <span class="n">tbl_name</span><span class="p">;</span>
</pre>
                                </div>
                            </td>
                            <td class="TableStyle-ref_3_col_table-BodyD-Column1-Body1">
                                <div class="first last highlight-sql highlight"><pre xml:space="preserve"><span class="k">SELECT</span> <span class="o">*</span> <span class="k">FROM</span> <span class="n">tbl_name</span>
</pre>
                                </div>
                            </td>
                        </tr>
                        <tr class="TableStyle-ref_3_col_table-Body-Body1">
                            <td rowspan="2" class="TableStyle-ref_3_col_table-BodyE-Column1-Body1">Function call without
 parameters</td>
                            <td class="TableStyle-ref_3_col_table-BodyE-Column1-Body1">
                                <div class="first last highlight-sql highlight"><pre xml:space="preserve"><span class="k">SELECT</span> <span class="n">func_name</span><span class="p">;</span>
</pre>
                                </div>
                            </td>
                            <td class="TableStyle-ref_3_col_table-BodyD-Column1-Body1">
                                <div class="first last highlight-sql highlight"><pre xml:space="preserve"><span class="k">SELECT</span> <span class="n">func_name</span>
</pre>
                                </div>
                            </td>
                        </tr>
                        <tr class="TableStyle-ref_3_col_table-Body-Body1">
                            <td class="TableStyle-ref_3_col_table-BodyE-Column1-Body1">
                                <div class="first last highlight-sql highlight"><pre xml:space="preserve"><span class="k">SELECT</span> <span class="o">*</span>
<span class="k">FROM</span> <span class="n">func_name</span><span class="p">;</span>
</pre>
                                </div>
                            </td>
                            <td class="TableStyle-ref_3_col_table-BodyD-Column1-Body1">
                                <div class="first last highlight-sql highlight"><pre xml:space="preserve"><span class="k">SELECT</span> <span class="o">*</span>
<span class="k">FROM</span> <span class="n">func_name</span>
</pre>
                                </div>
                            </td>
                        </tr>
                        <tr class="TableStyle-ref_3_col_table-Body-Body1">
                            <td rowspan="3" class="TableStyle-ref_3_col_table-BodyE-Column1-Body1">Function call with input
 parameters</td>
                            <td class="TableStyle-ref_3_col_table-BodyE-Column1-Body1">
                                <div class="first last highlight-sql highlight"><pre xml:space="preserve"><span class="k">SELECT</span> <span class="n">func_name</span><span class="p">(</span><span class="s1">'str'</span><span class="p">,</span> <span class="mi">1</span><span class="p">);</span>
</pre>
                                </div>
                            </td>
                            <td class="TableStyle-ref_3_col_table-BodyD-Column1-Body1">
                                <div class="first last highlight-sql highlight"><pre xml:space="preserve"><span class="k">SELECT</span> <span class="n">func_name</span><span class="p">(</span><span class="s1">'str'</span><span class="p">,</span> <span class="mi">1</span><span class="p">)</span>
</pre>
                                </div>
                            </td>
                        </tr>
                        <tr class="TableStyle-ref_3_col_table-Body-Body1">
                            <td class="TableStyle-ref_3_col_table-BodyE-Column1-Body1">
                                <div class="first last highlight-sql highlight"><pre xml:space="preserve"><span class="k">SELECT</span> <span class="o">*</span>
<span class="k">FROM</span> <span class="n">func_name</span><span class="p">(</span><span class="s1">'str'</span><span class="p">,</span> <span class="mi">1</span><span class="p">);</span>
</pre>
                                </div>
                            </td>
                            <td class="TableStyle-ref_3_col_table-BodyD-Column1-Body1">
                                <div class="first last highlight-sql highlight"><pre xml:space="preserve"><span class="k">SELECT</span> <span class="o">*</span>
<span class="k">FROM</span> <span class="n">func_name</span><span class="p">(</span><span class="s1">'str'</span><span class="p">,</span> <span class="mi">1</span><span class="p">)</span>
</pre>
                                </div>
                            </td>
                        </tr>
                        <tr class="TableStyle-ref_3_col_table-Body-Body1">
                            <td class="TableStyle-ref_3_col_table-BodyE-Column1-Body1">
                                <div class="first last highlight-sql highlight"><pre xml:space="preserve"><span class="k">SELECT</span> <span class="n">func_name</span><span class="p">(</span><span class="n">col1</span><span class="p">,</span> <span class="n">col2</span><span class="p">)</span>
<span class="k">FROM</span> <span class="n">tbl_name</span><span class="p">;</span>
</pre>
                                </div>
                            </td>
                            <td class="TableStyle-ref_3_col_table-BodyD-Column1-Body1">
                                <div class="first last highlight-sql highlight"><pre xml:space="preserve"><span class="k">SELECT</span> <span class="n">func_name</span><span class="p">(</span><span class="n">col1</span><span class="p">,</span> <span class="n">col2</span><span class="p">)</span>
<span class="k">FROM</span> <span class="n">tbl_name</span>
</pre>
                                </div>
                            </td>
                        </tr>
                        <tr class="TableStyle-ref_3_col_table-Body-Body1">
                            <td class="TableStyle-ref_3_col_table-BodyE-Column1-Body1">Procedure call without parameters</td>
                            <td class="TableStyle-ref_3_col_table-BodyE-Column1-Body1">
                                <div class="first last highlight-sql highlight"><pre xml:space="preserve"><span class="k">EXEC</span> <span class="n">proc_name</span><span class="p">;</span>
</pre>
                                </div>
                            </td>
                            <td class="TableStyle-ref_3_col_table-BodyD-Column1-Body1">
                                <div class="first last highlight-sql highlight"><pre xml:space="preserve"><span class="k">EXEC</span> <span class="n">proc_name</span>
</pre>
                                </div>
                            </td>
                        </tr>
                        <tr class="TableStyle-ref_3_col_table-Body-Body1">
                            <td class="TableStyle-ref_3_col_table-BodyE-Column1-Body1">Procedure call with input parameters</td>
                            <td class="TableStyle-ref_3_col_table-BodyE-Column1-Body1">
                                <div class="first last highlight-sql highlight"><pre xml:space="preserve"><span class="k">EXEC</span> <span class="n">proc_name</span> <span class="s1">'str'</span><span class="p">,</span><span class="mi">1</span><span class="p">;</span>
</pre>
                                </div>
                            </td>
                            <td class="TableStyle-ref_3_col_table-BodyD-Column1-Body1">
                                <div class="first last highlight-sql highlight"><pre xml:space="preserve"><span class="k">EXEC</span> <span class="n">proc_name</span> <span class="s1">'str'</span><span class="p">,</span><span class="mi">1</span>
</pre>
                                </div>
                            </td>
                        </tr>
                        <tr class="TableStyle-ref_3_col_table-Body-Body1">
                            <td class="TableStyle-ref_3_col_table-BodyE-Column1-Body1">Procedure call with output parameter</td>
                            <td class="TableStyle-ref_3_col_table-BodyE-Column1-Body1">
                                <div class="first last highlight-sql highlight"><pre xml:space="preserve"><span class="k">DECLARE</span> <span class="o">@</span><span class="n">lastRw</span> <span class="n">TINYINT</span><span class="p">;</span>
<span class="k">EXEC</span> <span class="n">get_max_</span> <span class="o">@</span><span class="n">lastRw</span> <span class="k">OUTPUT</span><span class="p">;</span>
<span class="k">EXEC</span> <span class="n">insertNextRow</span> <span class="o">@</span><span class="n">lastRw</span><span class="p">;</span>
</pre>
                                </div>
                            </td>
                            <td class="TableStyle-ref_3_col_table-BodyD-Column1-Body1">
                                <div class="first last highlight-sql highlight"><pre xml:space="preserve"><span class="k">DECLARE</span> <span class="o">@</span><span class="n">lastRw</span> <span class="n">TINYINT</span>
<span class="k">EXEC</span> <span class="n">get_max_</span> <span class="o">@</span><span class="n">lastRw</span> <span class="k">OUTPUT</span>
<span class="k">EXEC</span> <span class="n">insertNextRow</span> <span class="o">@</span><span class="n">lastRw</span>
</pre>
                                </div>
                            </td>
                        </tr>
                    </tbody>
                </table>
                
</div>


**Note**

  When calling functions/procedures in MS SQL Server, [EXEC ] can be omitted or replaced with [EXECECUTE ].



### PostgreSQL

<div class="table-container">
<table class="legacy-table"   class="TableStyle-ref_3_col_table" style="width: 100%;mc-table-style: url('../Resources/TableStyles/ref_3_col_table.css');margin-left: 0;margin-right: auto;" cellspacing="0">
                    <col width="21%" class="TableStyle-ref_3_col_table-Column-Column1"/>
                    <col width="40%" class="TableStyle-ref_3_col_table-Column-Column1"/>
                    <col width="38%" class="TableStyle-ref_3_col_table-Column-Column1"/>
                    <thead>
                        <tr class="TableStyle-ref_3_col_table-Head-Header1">
                            <th class="TableStyle-ref_3_col_table-HeadE-Column1-Header1">QUERY</th>
                            <th class="TableStyle-ref_3_col_table-HeadE-Column1-Header1">ISQL</th>
                            <th class="TableStyle-ref_3_col_table-HeadD-Column1-Header1">Netprobe</th>
                        </tr>
                    </thead>
                    <tbody valign="top">
                        <tr class="TableStyle-ref_3_col_table-Body-Body1">
                            <td class="TableStyle-ref_3_col_table-BodyE-Column1-Body1">Simple SELECT query</td>
                            <td class="TableStyle-ref_3_col_table-BodyE-Column1-Body1">
                                <div class="first last highlight-sql highlight"><pre xml:space="preserve"><span class="k">SELECT</span> <span class="o">*</span> <span class="k">FROM</span> <span class="n">tbl_name</span><span class="p">;</span>
</pre>
                                </div>
                            </td>
                            <td class="TableStyle-ref_3_col_table-BodyD-Column1-Body1">
                                <div class="first last highlight-sql highlight"><pre xml:space="preserve"><span class="k">SELECT</span> <span class="o">*</span> <span class="k">FROM</span> <span class="n">tbl_name</span>
</pre>
                                </div>
                            </td>
                        </tr>
                        <tr class="TableStyle-ref_3_col_table-Body-Body1">
                            <td rowspan="2" class="TableStyle-ref_3_col_table-BodyE-Column1-Body1">Function call without
 parameters</td>
                            <td class="TableStyle-ref_3_col_table-BodyE-Column1-Body1">
                                <div class="first last highlight-sql highlight"><pre xml:space="preserve"><span class="k">SELECT</span> <span class="n">func_name</span><span class="p">();</span>
</pre>
                                </div>
                            </td>
                            <td class="TableStyle-ref_3_col_table-BodyD-Column1-Body1">
                                <div class="first last highlight-sql highlight"><pre xml:space="preserve"><span class="k">SELECT</span> <span class="n">func_name</span><span class="p">()</span>
</pre>
                                </div>
                            </td>
                        </tr>
                        <tr class="TableStyle-ref_3_col_table-Body-Body1">
                            <td class="TableStyle-ref_3_col_table-BodyE-Column1-Body1">
                                <div class="first last highlight-sql highlight"><pre xml:space="preserve"><span class="k">SELECT</span> <span class="o">*</span>
<span class="k">FROM</span> <span class="n">func_name</span><span class="p">();</span>
</pre>
                                </div>
                            </td>
                            <td class="TableStyle-ref_3_col_table-BodyD-Column1-Body1">
                                <div class="first last highlight-sql highlight"><pre xml:space="preserve"><span class="k">SELECT</span> <span class="o">*</span>
<span class="k">FROM</span> <span class="n">func_name</span><span class="p">()</span>
</pre>
                                </div>
                            </td>
                        </tr>
                        <tr class="TableStyle-ref_3_col_table-Body-Body1">
                            <td rowspan="3" class="TableStyle-ref_3_col_table-BodyE-Column1-Body1">Function call with input
 parameters</td>
                            <td class="TableStyle-ref_3_col_table-BodyE-Column1-Body1">
                                <div class="first last highlight-sql highlight"><pre xml:space="preserve"><span class="k">SELECT</span> <span class="n">func_name</span><span class="p">(</span><span class="s1">'str'</span><span class="p">,</span> <span class="mi">1</span><span class="p">);</span>
</pre>
                                </div>
                            </td>
                            <td class="TableStyle-ref_3_col_table-BodyD-Column1-Body1">
                                <div class="first last highlight-sql highlight"><pre xml:space="preserve"><span class="k">SELECT</span> <span class="n">func_name</span><span class="p">(</span><span class="s1">'str'</span><span class="p">,</span> <span class="mi">1</span><span class="p">)</span>
</pre>
                                </div>
                            </td>
                        </tr>
                        <tr class="TableStyle-ref_3_col_table-Body-Body1">
                            <td class="TableStyle-ref_3_col_table-BodyE-Column1-Body1">
                                <div class="first last highlight-sql highlight"><pre xml:space="preserve"><span class="k">SELECT</span> <span class="o">*</span>
<span class="k">FROM</span> <span class="n">func_name</span><span class="p">(</span><span class="s1">'str'</span><span class="p">,</span> <span class="mi">1</span><span class="p">);</span>
</pre>
                                </div>
                            </td>
                            <td class="TableStyle-ref_3_col_table-BodyD-Column1-Body1">
                                <div class="first last highlight-sql highlight"><pre xml:space="preserve"><span class="k">SELECT</span> <span class="o">*</span>
<span class="k">FROM</span> <span class="n">func_name</span><span class="p">(</span><span class="s1">'str'</span><span class="p">,</span> <span class="mi">1</span><span class="p">)</span>
</pre>
                                </div>
                            </td>
                        </tr>
                        <tr class="TableStyle-ref_3_col_table-Body-Body1">
                            <td class="TableStyle-ref_3_col_table-BodyE-Column1-Body1">
                                <div class="first last highlight-sql highlight"><pre xml:space="preserve"><span class="k">SELECT</span> <span class="n">func_name</span><span class="p">(</span><span class="n">col1</span><span class="p">,</span> <span class="n">col2</span><span class="p">)</span>
<span class="k">FROM</span> <span class="n">tbl_name</span><span class="p">;</span>
</pre>
                                </div>
                            </td>
                            <td class="TableStyle-ref_3_col_table-BodyD-Column1-Body1">
                                <div class="first last highlight-sql highlight"><pre xml:space="preserve"><span class="k">SELECT</span> <span class="n">func_name</span><span class="p">(</span><span class="n">col1</span><span class="p">,</span> <span class="n">col2</span><span class="p">)</span>
<span class="k">FROM</span> <span class="n">tbl_name</span>
</pre>
                                </div>
                            </td>
                        </tr>
                        <tr class="TableStyle-ref_3_col_table-Body-Body1">
                            <td rowspan="2" class="TableStyle-ref_3_col_table-BodyE-Column1-Body1">
                                <div>
                                Function call with output parameter
                              </div>
                                <p class="note">
                              Note: Output parameters are not
 included in the function call.</p>
                            </td>
                            <td class="TableStyle-ref_3_col_table-BodyE-Column1-Body1">
                                <div class="first last highlight-sql highlight"><pre xml:space="preserve"><span class="k">SELECT</span> <span class="n">func_name</span><span class="p">(</span><span class="s1">'str'</span><span class="p">,</span> <span class="mi">1</span><span class="p">);</span>
</pre>
                                </div>
                            </td>
                            <td class="TableStyle-ref_3_col_table-BodyD-Column1-Body1">
                                <div class="first last highlight-sql highlight"><pre xml:space="preserve"><span class="k">SELECT</span> <span class="n">func_name</span><span class="p">(</span><span class="s1">'str'</span><span class="p">,</span> <span class="mi">1</span><span class="p">)</span>
</pre>
                                </div>
                            </td>
                        </tr>
                        <tr class="TableStyle-ref_3_col_table-Body-Body1">
                            <td class="TableStyle-ref_3_col_table-BodyE-Column1-Body1">
                                <div class="first last highlight-sql highlight"><pre xml:space="preserve"><span class="k">SELECT</span> <span class="o">*</span>
<span class="k">FROM</span> <span class="n">func_name</span><span class="p">(</span><span class="s1">'str'</span><span class="p">,</span> <span class="mi">1</span><span class="p">);</span>
</pre>
                                </div>
                            </td>
                            <td class="TableStyle-ref_3_col_table-BodyD-Column1-Body1">
                                <div class="first last highlight-sql highlight"><pre xml:space="preserve"><span class="k">SELECT</span> <span class="o">*</span>
<span class="k">FROM</span> <span class="n">func_name</span><span class="p">(</span><span class="s1">'str'</span><span class="p">,</span> <span class="mi">1</span><span class="p">)</span>
</pre>
                                </div>
                            </td>
                        </tr>
                    </tbody>
                </table>
            
</div>


