Details about a dynamic temp-table in an unprepared state
- Last Updated: March 30, 2020
- 2 minute read
- OpenEdge
- Version 12.2
- Documentation
A dynamic temp-table is considered to be in an unprepared state after the first
definitional method is called until the temp-table is prepared. If a clear dynamic
temp-table handle is passed, the DataServer populates the temp-table schema based on
the result-set schema and prepares the temp-table. A clear dynamic
temp-table is a table that is in an unprepared state where definitional
methods have not yet been called. The DataServer then executes the temp-table
handle: ADD-NEW-FIELD (field name, data type) internally for each
one of the columns of the result set. If a column in the result set from the foreign
schema does not have a name (for example, an array element field or a SQL-derived
field), the DataServer assigns a name to it based on the column position on the row.
For example, if you run the following statement, then the temp-table contains columns custnum, name and column4:
|
The data type associated with each column follows the mapping rules that exist between OpenEdge and the foreign data source's data types. For more information about data types and default mapping, see Initial Programming Considerations
result<n>" where <n> is
the result-set sequence number that corresponds to its element position in the temp
table handle array, starting with 1. Therefore, if there are 3 result sets and 3
clear dynamic temp-tables are passed, the temp-tables are called result1, result2,
and result3.Note the following error conditions as they specifically apply to a dynamic temp-table:
- If an error occurs during the schema population or during the prepare of a temp-table, the DataServer raises an error condition.
- The dynamic temp-table must be either already prepared or clear with no defined
fields in it. If fields have already been added to a dynamic temp-table before
the
RUN STORED-PROCstatement is executed and the temp-table is not prepared, the DataServer raises an error condition due to the invalid state of the temp-table.