Native Dynamic SQL
|
DBMS_SQL
|
A freelance SQL within PL/SQL,
which are easy to access |
Comes as a package, offers an
interface to dynamic SQL |
PL/SQL block has built in
support for Dynamic SQL therefore more efficient than DBMS_SQL. |
DBMS_SQL uses a Procedural API so
it is generally slower than Native Dynamic SQL. |
Supports user defined types. |
Does not support user defined
types. |
Does not support Data Type
specific to PL/SQL, Booleans, |
|
Supports FETCH INTO record types |
Does not support FETCH INTO record
types |
Since does not provide a "address
/pointer" client site code can't be blended |
Supported in client side code. |
Does not support DESCRIBE_COLUMNS |
Supports DESCRIBE_COLUMNS |
Does not support bulk Dynamic SQL,
but it can be faked by placing all statements in a PL/SQL block. |
Supports bulk Dynamic SQL. |
Only supports Single row
Updates/Deletes with RETURNING clause. |
Supports Single and Multiple row
Updates/Deletes with RETURNING clause. |
Does not support SQL statements
bigger than 32K |
Does support SQL statements bigger
than 32K |
Parse required for every execution |
Parse once, execute many possible |