DESCRIBE INPUT statement

Use the DESCRIBE INPUT statement to return input parameter information before a prepared statement is executed.

Use this statement with ESQL/C.

Syntax

(1)
Notes:
  • 1 HCL OneDB™ extension
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 HCL OneDB ESQL/C Programmer's Manual.
statement_id Statement identifier for a prepared SQL statement Must be defined in a previously executed PREPARE statement PREPARE statement; PREPARE statement; Identifier
statement_var Host variable that contains the value of statement_id Variable and statement_id both must be declared Language-specific rules for names

Usage

The DESCRIBE INPUT and the DESCRIBE OUTPUT statements can return information about a prepared statement to an SQL Descriptor Area (sqlda):
  • For a SELECT, EXECUTE FUNCTION (or PROCEDURE), INSERT, or UPDATE statement, the DESCRIBE statement (with no INPUT keyword) returns the number, data types, and size of the returned values, and the name of the column or expression.
  • For a SELECT, EXECUTE FUNCTION, EXECUTE PROCEDURE, DELETE, INSERT, or UPDATE statement, the DESCRIBE INPUT statement returns all the input parameters of a prepared statement.
Tip: HCL OneDB versions earlier than 9.40 do not support the INPUT keyword. For compatibility with legacy applications, DESCRIBE without INPUT is supported. In new applications, you should use DESCRIBE INPUT statements to provide information about dynamic parameters in the WHERE clause, in subqueries, and in other syntactic contexts where the old form of DESCRIBE cannot provide information.

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

The IFX_UPDDESC environment variable does not need to be set before you can use DESCRIBE INPUT to obtain information about an UPDATE statement.