The easiest way to use dynamic SQL is to use non-SELECT
statements. Because you do not need to dynamically allocate any main
storage, you can write your program in any host language, including
Fortran.
Procedure
Your program must take the following steps:
- Include an SQLCA. The requirements for an SQL communications
area (SQLCA) are the same as for static SQL statements. For REXX, Db2 includes the SQLCA automatically.
- Load the input SQL statement into a data area. The procedure
for building or reading the input SQL statement is not discussed here;
the statement depends on your environment and sources of information.
You can read in complete SQL statements, or you can get information
to build the statement from data sets, a user at a terminal, previously
set program variables, or tables in the database.
If you
attempt to execute an SQL statement dynamically that Db2 does not allow, you get an SQL error.
- Execute the statement. You can use either of these methods:
- EXECUTE IMMEDIATE
- PREPARE and EXECUTE
- Handle any errors that might result. The requirements are
the same as those for static SQL statements. The return code from
the most recently executed SQL statement appears in the host variables
SQLCODE and SQLSTATE or corresponding fields of the SQLCA.