Question:
What is the difference between static and dynamic SQL? For that matter, what are they?
Answer:
Static SQL statements are embedded in the source code of a program. They declare host variables (signaled by a ‘ : ‘ prefix) to send and receive data from a query. The cursor they create is brittle, in that it won’t accept any subsequent result sets, only the first.
Dynamic SQL uses parameter markers instead of host variables, which are the placeholders for the outgoing query. Their use is for querying the database for database objects, the names of which are not known at compile time. Dynamic SQL makes this information available to your application.