This release saw the introduction of native compilation of PL or SQL code, enhancement to PL or SQL cursors in the form of cursor expressions, new data types, enhancements to bulk binding, pipelined table functions, true inheritance among objects, and more.PL or SQL is a block-structured language that enables you to encapsulate business logic in one place. This is by far the greatest advantage of PL or SQL that I’ve leveraged. Also, PL or SQL code runs on the server side, thus providing direct interaction with the DBA and the SQL engine. Other advantages of using PL or SQL are outlined in the following sections. The primary advantage of PL or SQL is its capability to define and implement 3GL constructs with embedded SQL statements. Using PL or SQL, you can implement standard 3GL capabilities, such as support for BOOLEAN data types; sequential, conditional, and iterative logic; arrays and subprograms; and object-oriented features. And you can do this side by side with SQL. This support for SQL in PL or SQL makes PL or SQL powerful.
The capability to define 3GL constructs is primarily beneficial when you use PL or SQL in writing applications that mix and match business logic that’s complicated and necessary. Also, PL or SQL is the primary procedural language for Oracle DBA client-side tools such as Oracle data base administrator Forms and Oracle data base administrator Reports. Programs written in PL or SQL are hardware independent and operating system independent. They are highly portable and work well on any platform where an Oracle data base administrator server and an integrated development environment (IDE) are installed. Oracle DBA has integrated SQL and PL or SQL. Programs written in PL or SQL can make use of almost all SQL features such as SQL data types and the NULL construct. Also, as of Oracle data base administrator9i, there’s an integrated SQL and PL or SQL parser. This means the same parser is used for SQL and PL or SQL code, which results in more efficient performance. PL or SQL enables you to write programs as independent modules that you can integrate.