Was this helpful?
EXECUTE IMMEDIATE Examples
1. The following example saves a table until the first day of the next year. Next_year and current_year are integer variables.
/* There is no need for a FROM clause in this
** SELECT
*/
exec sql select date_part('year', date('now'))
    into :current_year;

next_year = current_year + 1;

statement_buffer = 'save ' + table_name +
    ' until Jan 1 ' + next_year;
exec sql execute immediate :statement_buffer;
2. The following example reads an SQL statement from the terminal into a host string variable, statement_buffer. If the statement read is "quit," the program ends. If an error occurs upon execution, the program informs the user.
exec sql include sqlca;

read statement_buffer from terminal;
loop while (statement_buffer <> 'QUIT')

exec sql execute immediate :statement_buffer;
    if (sqlcode = 0) then
    exec sql commit;
    else if (sqlcode = 100) then
    print 'No qualifying rows for statement:';
    print statement_buffer;
    else
    print 'Error        :', sqlcode;
    print 'Statement    :', statement_buffer;
    end if;
    read statement_buffer from terminal;
end loop;
Last modified date: 11/09/2022