04/09/2016
Enhancements in Oracle 11g PL/SQL
1. DML triggers are up to 25% faster. This especially impacts row level triggers doing updates against other tables (think Audit trigger).
2.Fine Grained Dependency Tracking (FGDT?). This means that when you add a column to a table, or a cursor to a package spec, you don't invalidate objects that are dependant on them. Sweet!
3. Native Compilation no longer requires a C compiler to compile your PL/SQL. Your code goes directly to a shared library. I will definately talk more about this later.
4. New Data Type: simple_integer. Always NOT NULL, wraps instead of overflows and is faster than PLS_INTEGER.
5. Intra-unit inlining. In C, you can write a macro that gets inline when called. Now any stored procedure is eligible for in lining if Oracle thinks it will improve performance. No change to your code is required. Now you have no reason for not making everything a subroutine!
6. SQL and PL/SQL result caching. Yep, you read that right. Now there is a result cache that can store actual results from queries and stored procedures. Later calls are almost instantaneous. Another SWEET on this one.
7. Compound triggers. How would you like a trigger that is a before, after, row and statement all in one? And it maintains its statements between each? Now you have it.
8. Dynamic SQL. DBMS_SQL is here to stay. It's faster and is being enhanced. DBMS_SQL and NDS can now accept CLOBs (no more 32k limit on NDS). A ref cursor can become a DBMS_SQL cursor and vice versa. DBMS_SQL now supprts user defined types and bulk operations. Sweet!
9. FGAC for UTL_SMTP, UTL_TCP and UTL_HTTP. You can define security on ports and URLs.
10. Support for SUPER references in Oracle Object Type methods. Sweet again!
11. Read only tables
12. Specify Trigger firing order.
13. Compiler warning for when others with no raise.
14. Still no identity column!
15. Continue statement is added. Personally, I find the continue to be too much like a go to.
16. You can now used named notation when calling a stored procedure from SQL.