DESCRIBE statement

Use the DESCRIBE statement to obtain information about output parameters and other features of a prepared object before you execute it.

Use this statement with Informix® ESQL/C. (See also DESCRIBE INPUT statement.)

Syntax

DESCRIBE [ OUTPUT ] { statement_id_var | statement_id } { USING SQL DESCRIPTOR { descriptor_var | 'descriptor' } | INTO { SQL DESCRIPTOR { descriptor_var | 'descriptor' } | sqlda_pointer } }
Element Description Restrictions Syntax
descriptor Name of a system-descriptor area System-descriptor area must already be allocated Quoted String
descriptor_var Host variable specifying a system-descriptor area Must contain the name of an allocated system-descriptor area Language-specific rules for names
sqlda_pointer Pointer to an sqlda structure Cannot begin with dollar ( $ ) sign or colon ( : ). An sqlda structure is required if dynamic SQL is used. See the sqlda structure in the Informix® ESQL/C Programmer's Manual
statement_id Statement identifier for a prepared SQL statement Must be defined in a previous PREPARE statement PREPARE statement; Identifier
statement _id_var Host variable that contains the value of statement_id Must be declared in a previous PREPARE statement Language-specific rules for names

Usage

DESCRIBE can provide information at runtime about a prepared statement:
  • The type of SQL statement that was prepared
  • Whether an UPDATE or DELETE statement contains a WHERE clause
  • For an EXECUTE, EXECUTE FUNCTION, EXECUTE PROCEDURE, INSERT, SELECT, or UPDATE statement, the DESCRIBE statement also returns the number, data types, and size of the output parameter values.
  • For a SELECT statement, DESCRIBE also returns the name of the column or expression that the query returns.

With this information, you can write code to allocate memory to hold retrieved values and display or process them after they are fetched.