This function provides dynamic SQL capabilities in Virtuoso PL. The first argument is an arbitrary SQL statement, which may contain parameter placeholders. The function returns as output parameters a SQL state, error message, column metadata if the statement is a select.
| Element | Name | Description |
|---|---|---|
| 0 | COLS | An array containing description of each column in the result set (see table below for contents) |
| 1 | STMT_SELECT | An integer 1 indicates that the statement is a select, otherwise it is a DML statement. |
| 2.. | N/A | Trailing elements may appear, but they should not be used |
| Element | Name | Description |
|---|---|---|
| 0 | name | Column name |
| 1 | type | Column type as an internal type code corresponding, but not equal to ODBC SQL type codes. |
| 2 | scale | column scale |
| 3 | precision | column precision |
| 4 | nullable | indicates nullable column |
| 5 | updatable | indicates updatable column |
| 6 | searchable | indicates searchable column |
The function will generate a SQL 22023 error value if a supplied parameter is not of the type expected.