The main feature of SQL (non-procedural) is also a drawback of SQL: one cannot use control statements ( decision-making or iterative control) if only SQL is to be used. 4.1 Associative arrays (index-by tables).
Historically, the first public version of PL/SQL definition was in 1995, and the Oracle's inception year ~1992. One can create PL/SQL units such as procedures, functions, packages, types, and triggers, which are stored in the database for reuse by applications that use any of the Oracle Database programmatic interfaces. Implementations from version 8 of Oracle Database onwards have included features associated with object-orientation. Arrays are supported involving the use of PL/SQL collections. It can handle exceptions (run-time errors). It allows declaration of constants and variables, procedures and functions, types and variables of those types, and triggers. PL/SQL includes procedural language elements such as conditions and loops. Oracle Corporation usually extends PL/SQL functionality with each successive release of the Oracle Database. PL/SQL is available in Oracle Database (since version 6 - stored PL/SQL procedures/functions/packages/triggers since version 7), Times Ten in-memory database (since version 11.2.1), and IBM DB 2 (since version 9.7). PL/SQL ( Procedural Language for SQL) is Oracle Corporation's procedural extension for SQL and the Oracle relational database. ( Learn how and when to remove this template message) JSTOR ( January 2008) ( Learn how and when to remove this template message).Unsourced material may be challenged and removed. Please help improve this article by adding citations to reliable sources. This article needs additional citations for verification.