Adsense Ad

Wednesday, 3 May 2017

Dyanmic SQL


Dynamic SQL is a programming methodology for generating and running SQL statements at run time. It is useful when writing general-purpose and flexible programs like ad hoc query systems, when writing programs that must run database definition language (DDL) statements, or when you do not know at compilation time the full text of a SQL statement or the number or data types of its input and output variables.

PL/SQL provides two ways to write dynamic SQL:

Native dynamic SQL, a PL/SQL language (that is, native) feature for building and running dynamic SQL statements DBMS_SQL package, an API for building, running, and describing dynamic SQL statements Native dynamic SQL code is easier to read and write than equivalent code that uses the DBMS_SQL package, and runs noticeably faster (especially when it can be optimized by the compiler). However, to write native dynamic SQL code, you must know at compile time the number and data types of the input and output variables of the dynamic SQL statement. If you do not know this information at compile time, you must use the DBMS_SQL package.


You cannot execute DDL statements, such as CREATE TABLE or DROP PROCEDURE, natively in a PL/SQL block. You can, however, execute DDL statements through several different mechanisms:
  • EXECUTE IMMEDIATE
  • DBMS_SQL.PARSE and DBMS_SQL.EXECUTE
  • DBMS_UTILITY.EXEC_DDL_STATEMENT

No comments: