Dynamic SQL lets programs accept or generate SQL statements at
run time, in contrast to precompiled statements that must be
embedded in the program before it is compiled. Unlike embedded
statements, such dynamically executed SQL statements are not part
of any source code but are created while the program is running.
Dynamic SQL is useful when you cannot predict the type of SQL
statement your program needs to process.
To handle dynamically executed SQL statements, programs use
embedded PREPARE statements to assign a name to the SQL statement
created at run time and to prepare it for execution. The EXECUTE,
dynamic DECLARE CURSOR, and DESCRIBE statements refer to that
assigned name. You cannot qualify prepared statement names.
Because they are prepared with embedded PREPARE statements, you
can refer to dynamic statement names from programs only, not from
interactive SQL.