EXECUTE Statement [ESQL]

Executes a SQL statement.

Syntax

Syntax 1 – Executes the named dynamic statement that was previously prepared

EXECUTE statement-name
   ... [ { USING DESCRIPTOR sqlda-name | USING host-variable-list } ]
   ... [ { INTO DESCRIPTOR into-sqlda-name | INTO into-host-variable-list ]
   ... [ ARRAY :nnn } ]

Syntax 2 – A short form to PREPARE and EXECUTE a statement that does not contain bind variables or output

EXECUTE IMMEDIATE statement

Parameters

Examples

Usage

Syntax 1 — If the dynamic statement contains host variable placeholders which supply information for the request (bind variables), then either the sqlda-name must specify a C variable which is a pointer to an SQLDA containing enough descriptors for all bind variables occurring in the statement, or the bind variables must be supplied in the host-variable-list.

Syntax 2 — The SQL statement contained in the string or host variable is immediately executed and is dropped on completion.

EXECUTE can be used for any SQL statement that can be prepared. Cursors are used for SELECT statements or CALL statements that return many rows from the database.

Note: You cannot reference a Table UDF in an EXECUTE statement.

After successful execution of an INSERT, UPDATE, or DELETE statement, the sqlerrd[2] field of the SQLCA (SQLCOUNT) is filled in with the number of rows affected by the operation.

Standards

  • SQL—Vendor extension to ISO/ANSI SQL grammar.

  • Sybase—Supported in Open Client/Open Server.

Permissions

Permissions are checked on the statement being executed.

Related reference
DECLARE CURSOR Statement [ESQL] [SP]
PREPARE Statement [ESQL]