EXECUTE IMMEDIATE
EXECUTE IMMEDIATE
EXECUTE IMMEDIATE - dynamically prepare and execute a statement
Synopsis
EXECUTE IMMEDIATE string
 Description
   
    EXECUTE IMMEDIATE
   
   immediately prepares and
     executes a dynamically specified SQL statement, without
     retrieving result rows.
  
Parameters
- 
     
      
       string#
- 
     A literal string or a host variable containing the SQL statement to be executed. 
Notes
   In typical usage, the
   
    
     string
    
   
   is a host
     variable reference to a string containing a dynamically-constructed
     SQL statement.  The case of a literal string is not very useful;
     you might as well just write the SQL statement directly, without
     the extra typing of
   
    EXECUTE IMMEDIATE
   
   .
  
   If you do use a literal string, keep in mind that any double quotes
     you might wish to include in the SQL statement must be written as
     octal escapes (
   
    \042
   
   ) not the usual C
     idiom
   
    \"
   
   .  This is because the string is inside
     an
   
    EXEC SQL
   
   section, so the ECPG lexer parses it
     according to SQL rules not C rules.  Any embedded backslashes will
     later be handled according to C rules; but
   
    \"
   
   causes an immediate syntax error because it is seen as ending the
     literal.
  
Examples
   Here is an example that executes an
   
    INSERT
   
   statement using
   
    EXECUTE IMMEDIATE
   
   and a host
     variable named
   
    command
   
   :
  
sprintf(command, "INSERT INTO test (name, amount, letter) VALUES ('db: ''r1''', 1, 'f')");
EXEC SQL EXECUTE IMMEDIATE :command;
  
Compatibility
   
    EXECUTE IMMEDIATE
   
   is specified in the SQL standard.