PL/SQL offers the following advantages over any other procedural language:
Among the other advantages, performance of PL/SQL is mainly due to its architecture. Without PL/SQL, Oracle must process SQL statements one at a time. Each SQL statement results in a new call to Oracle and leads to higher performance overhead. In case of a network environment, this means a transmit and receive for each SQL statement, increasing the overhead significantly. However, with PL/SQL, an entire block of statements can be sent to Oracle one at a time. A PL/SQL engine resides either at the server-end or at the client-end in an application development tool. In the former case processing of an entire block of PL/SQL statements takes place at the server end and hence drastically reduces the communication between the application and Oracle server. Figure 5.1 shows implementations of an application in Oracle without PL/SQL and with PL/SQL using remote procedure call (RPC).
The main disadvantages of PL/SQL is its lack of portability. This was not viewed as a major drawback in this proof-of-concept experiment. As discussed in the conclusion other languages e.g. C++ and JDBC should be considered in the future.