Skip to content

Commit

Permalink
Added new subprograms to table, and one minor fix to TO_CURSOR_NUMBER
Browse files Browse the repository at this point in the history
  • Loading branch information
dwicinas committed Sep 18, 2023
1 parent 4efd25d commit d1f076d
Show file tree
Hide file tree
Showing 2 changed files with 32 additions and 25 deletions.
Original file line number Diff line number Diff line change
Expand Up @@ -13,7 +13,6 @@ TO_CURSOR_NUMBER (<rc> IN OUT SYS_REFCURSOR)

## Parameters

```sql
`rc`

The ref cursor to be transformed into a cursor number.
Expand Down
Original file line number Diff line number Diff line change
Expand Up @@ -15,30 +15,38 @@ The `DBMS_SQL` package provides an application interface compatible with Oracle

EDB Postgres Advanced Server's implementation of `DBMS_SQL` is a partial implementation when compared to Oracle's version. Only those functions and procedures listed in the table are supported.

| Function/procedure | Function or procedure | Return type | Description |
| --------------------------------------------------------------------------------------- | --------------------- | ----------- | ---------------------------------------------------------------------- |
| `BIND_VARIABLE(c, name, value [, out_value_size ])` | Procedure | n/a | Bind a value to a variable. |
| `BIND_VARIABLE_CHAR(c, name, value [, out_value_size ])` | Procedure | n/a | Bind a `CHAR` value to a variable. |
| `BIND_VARIABLE_RAW(c, name, value [, out_value_size ])` | Procedure | n/a | Bind a `RAW` value to a variable. |
| `CLOSE_CURSOR(c IN OUT)` | Procedure | n/a | Close a cursor. |
| `COLUMN_VALUE(c, position, value OUT [, column_error OUT [, actual_length OUT ]])` | Procedure | n/a | Return a column value into a variable. |
| `COLUMN_VALUE_CHAR(c, position, value OUT [, column_error OUT [, actual_length OUT ]])` | Procedure | n/a | Return a `CHAR` column value into a variable. |
| `COLUMN_VALUE_RAW(c, position, value OUT [, column_error OUT [, actual_length OUT ]])` | Procedure | n/a | Return a `RAW` column value into a variable. |
| `COLUMN_VALUE_LONG(c, position, length, offset, value OUT, value_length OUT` | Procedure | n/a | Return a part of the `LONG` column value into a variable. |
| `DEFINE_COLUMN(c, position, column [, column_size ])` | Procedure | n/a | Define a column in the `SELECT` list. |
| `DEFINE_COLUMN_CHAR(c, position, column, column_size)` | Procedure | n/a | Define a `CHAR` column in the `SELECT` list. |
| `DEFINE_COLUMN_RAW(c, position, column, column_size)` | Procedure | n/a | Define a `RAW` column in the `SELECT` list. |
| `DEFINE_COLUMN_LONG(c, position)` | Procedure | n/a | Define a `LONG` column in the `SELECT` list. |
| `DESCRIBE_COLUMNS` | Procedure | n/a | Define columns to hold a cursor result set. |
| `EXECUTE(c)` | Function | `INTEGER` | Execute a cursor. |
| `EXECUTE_AND_FETCH(c [, exact ])` | Function | `INTEGER` | Execute a cursor and fetch a single row. |
| `FETCH_ROWS(c)` | Function | `INTEGER` | Fetch rows from the cursor. |
| `IS_OPEN(c)` | Function | `BOOLEAN` | Check if a cursor is open. |
| `LAST_ROW_COUNT` | Function | `INTEGER` | Return cumulative number of rows fetched. |
| `LAST_ERROR_POSITION` | Function | `INTEGER` | Return byte offset in the SQL statement text where the error occurred. |
| `OPEN_CURSOR` | Function | `INTEGER` | Open a cursor. |
| `PARSE(c, statement, language_flag)` | Procedure | n/a | Parse a statement. |
| `VARIABLE_VALUE` | | | Not supported in EPAS |
| Function/procedure | Function or procedure | Return type | Description |
| ---------------------------------------------------------------------------------------- | --------------------- | ---------------- | ---------------------------------------------------------------------- |
| `BIND_ARRAY(c IN, name IN, table_variable IN [index1 IN, index2 IN])` | Procedure | n/a | Binds a value or set of values to a variable. |
| `BIND_VARIABLE(c, name, value [, out_value_size ])` | Procedure | n/a | Bind a value to a variable. |
| `BIND_VARIABLE_CHAR(c, name, value [, out_value_size ])` | Procedure | n/a | Bind a `CHAR` value to a variable. |
| `BIND_VARIABLE_RAW(c, name, value [, out_value_size ])` | Procedure | n/a | Bind a `RAW` value to a variable. |
| `CLOSE_CURSOR(c IN OUT)` | Procedure | n/a | Close a cursor. |
| `COLUMN_VALUE(c, position, value OUT [, column_error OUT [, actual_length OUT ]])` | Procedure | n/a | Return a column value into a variable. |
| `COLUMN_VALUE_CHAR(c, position, value OUT [, column_error OUT [, actual_length OUT ]])` | Procedure | n/a | Return a `CHAR` column value into a variable. |
| `COLUMN_VALUE_RAW(c, position, value OUT [, column_error OUT [, actual_length OUT ]])` | Procedure | n/a | Return a `RAW` column value into a variable. |
| `COLUMN_VALUE_LONG(c, position, length, offset, value OUT, value_length OUT` | Procedure | n/a | Return a part of the `LONG` column value into a variable. |
| `COLUMN_VALUE_ROWID(c, position, value OUT [ column_error OUT [, actual_length OUT ]])` | Procedure | n/a | Return a `ROWID` column in a cursor. |
| `DEFINE_ARRAY(c IN, position IN, table_variable IN, cnt IN, lower_bnd IN )` | Procedure | n/a | Define collection for column into which to fetch rows. |
| `DEFINE_COLUMN(c, position, column [, column_size ])` | Procedure | n/a | Define a column in the `SELECT` list. |
| `DEFINE_COLUMN_CHAR(c, position, column, column_size)` | Procedure | n/a | Define a `CHAR` column in the `SELECT` list. |
| `DEFINE_COLUMN_RAW(c, position, column, column_size)` | Procedure | n/a | Define a `RAW` column in the `SELECT` list. |
| `DEFINE_COLUMN_LONG(c, position)` | Procedure | n/a | Define a `LONG` column in the `SELECT` list. |
| `DEFINE_COLUMN_ROWID(c IN, position IN, column IN)` | Procedure | n/a | Define a `ROWID` column in the `SELECT` list. |
| `DESCRIBE_COLUMNS(c IN, col_cnt OUT, desc_t OUT, DESC_TAB)` | Procedure | n/a | Define columns to hold a cursor result set. |
| `DESCRIBE_COLUMNS2(c IN, col_cnt OUT, desc_t OUT, DESC_TAB)` | Procedure | n/a | Define columns to hold a cursor result set. |
| `DESCRIBE_COLUMNS3(c IN, col_cnt OUT, desc_t OUT, DESC_TAB)` | Procedure | n/a | Define columns to hold a cursor result set. |
| `EXECUTE(c)` | Function | `INTEGER` | Execute a cursor. |
| `EXECUTE_AND_FETCH(c [, exact ])` | Function | `INTEGER` | Execute a cursor and fetch a single row. |
| `FETCH_ROWS(c)` | Function | `INTEGER` | Fetch rows from the cursor. |
| `IS_OPEN(c)` | Function | `BOOLEAN` | Check if a cursor is open. |
| `LAST_ROW_COUNT` | Function | `INTEGER` | Return cumulative number of rows fetched. |
| `LAST_ERROR_POSITION` | Function | `INTEGER` | Return byte offset in the SQL statement text where the error occurred. |
| `OPEN_CURSOR` | Function | `INTEGER` | Open a cursor. |
| `PARSE(c, statement, language_flag)` | Procedure | n/a | Parse a statement. |
| `TO_CURSOR_NUMBER (rc IN OUT )` | Function | `INTEGER` | Transform a ref cursor into a SQL cursor number. |
| `TO_REFCURSOR (cursor_number IN OUT)` | Function | `SYS_REFCURSOR ` | Transform an open cursor into a REF CURSOR.
| `VARIABLE_VALUE` | | | Not supported in EPAS |


The following table lists the public variables available in the `DBMS_SQL` package.
Expand Down

0 comments on commit d1f076d

Please sign in to comment.