# Execute

#### Syntax

    EXECUTE { SQLString | PreparedStatementIdentifier }
    [ USING { String | Identifier } ]

#### Description

Has several uses:

- To execute an SQL command entered as SQLString, using the Execute String style. The String is passed to the connection without further examination or processing by `ij`. Normally, you execute SQL commands directly, not with the Execute command.
- To execute a named command identified by PreparedStatementIdentifier. This must be previously prepared with the `ij` Prepare command.
- To execute either flavor of command when that command contains dynamic parameters, specify the values in the Using portion of the command. In this style, the SQLString or previously prepared PreparedStatementIdentifier is executed using the values supplied as String or Identifier. The Identifier in the USING clause must have a result set as its result. Each row of the result set is applied to the input parameters of the command to be executed, so the number of columns in the Using's result set must match the number of input parameters in the Execute's statement. The results of each execution of the Execute statement are displayed as they are made. If the Using's result set contains no rows, the Execute's statement is not executed.

  When auto-commit mode is on, the Using's result set is closed upon the first execution of the Execute statement. To ensure multiple-row execution of the Execute command, use the Autocommit command to turn auto-commit off.

#### Example

    ij> autocommit off;
    ij> prepare menuInsert as 'INSERT INTO menu VALUES (?, ?, ?)';
    ij> execute menuInsert using 'VALUES
        (''entree'', ''lamb chop'', 14),
        (''dessert'', ''creme brulee'', 6)';
    1 row inserted/updated/deleted
    1 row inserted/updated/deleted
    ij> commit;

Parent topic: ij commands and errors reference
Related concepts
ij commands
ij errors
Related reference
Absolute
After Last
Async
Autocommit
Before First
Close
Commit
Connect
Describe
Disconnect
Driver
Elapsedtime
Exit
First
Get Cursor
Get Scroll Insensitive Cursor
Help
Last
LocalizedDisplay
MaximumDisplayWidth
Next
Prepare
Previous
Protocol
Readonly
Relative
Remove
Rollback
Run
Set Connection
Show
Wait For
Comment
Identifier
String