Существует множество версий PL/SQL, и, возможно, вам как администратору базы придется работать с несколькими из них одновременно.
Базовой версией PL/SQL для моего блога будет Oracle Database 10g, поскольку по статистке сейчас СУБД Oracle 10g самая распространенная версия в России. Однако при необходимости мы будем ссылаться на специальные возможности, введенные (или просто доступные) в других, более ранних версиях. Если какая-то функциональность напрямую зависит от версии, например, если ее можно использовать только в Oracle Database 10g Release 2, это будет особо отмечено в тексте.
Каждой версии базы данных Oracle соответствует собственная версия PL/SQL. Чем более свежую версию PL/SQL вы используете, тем больший спектр возможностей перед вами открыт. Пользователям PL/SQL следует всегда быть в курсе последних нововведений. Необходимо постоянно самосовершенствоваться, изучая новые возможности каждой версии, обдумывая, как можно было бы применить их в ваших приложениях, и определяя, есть ли среди предлагаемых новых приемов на-столько полезные, что имеет смысл изменить уже существующие приложения, с тем чтобы воспользоваться новыми возможностями.
Основные элементы всех версий PL/SQL (прошлых и настоящей) представлены в табл ниже, которая дает самое общее представление о новых возможностях, предлагаемых в каждой версии.
Версия СУБД Oracle | Версия PL/SQL | Описание |
6.0 | 1.0 | Это исходная версия PL/SQL, которая использовалась главным образом как язык сценариев в SQL*Plus (еще не было возможности создания именованных, допускающих повторное использование и вызываемых программ) и как язык программирования в SQL*Forms 3. |
7.0 | 2.0 | Значительное усовершенствование PL/SQL 1.0. Была добавлена поддержка хранимых процедур, функций, пакетов, определяемых программистом записей, таблиц PL/SQL, а также много пакетов расширения. |
7.1 | 2.1 | Данная версия поддерживала определяемые программистом подтипы, разрешала использование хранимых функций внутри команд SQL и предлагала динамический SQL в пакете DBMS_SQL. В версии PL/SQL 2.1 наконец появилась возможность исполнять команды SQL DDL из программ PL/SQL. |
7.3 | 2.3 | Данная версия расширяла функциональность PL/ SQL-таблиц, улучшала управление удаленными зависимостями, предоставляла возможности файлового ввода-вывода в PL/SQL с помощью пакета UTL_FILE и завершала реализацию курсорных переменных. |
8.0 | 8.0 | Номер новой версии отражал стремление корпорации Oracle к синхронизации номеров версий связанных продуктов. PL/SQL 8.0 - это версия PL/SQL, которая поддерживает новые возможности СУБД Oracle8, включая большие объекты (LOB), объектно-ориентированные проектирование и разработку, коллекции (VARRAY и вложенные таблицы) и опцию Oracle AQ (Advanced Queuing). |
8.1 | 8.1 | Версия PL/SQL для первой из серии «i» версии Oracle 8i предложила действительно впечатляющий набор дополнительных возможностей, включая новую версию динамического SQL, поддержку Java в базе данных, модель прав вызывающего, опцию полномочий на исполнение, автономные транзакции и высокопроизводительные «массовые» операторы DML и запросы. |
Версия СУБД Oracle | Версия PL/SQL | Описание |
9.1 | 9.1 | Версия СУБД Oracle 9/ Release 1 буквально наступала на пятки своей предшественнице. Она включала наследование объектных типов, табличные функции и курсорные выражения (что позволило распараллеливать исполнение функций PL/SQL), поддерживала многоуровневые коллекции, оператор и выражение CASE. |
9.2 | 9.2 | В версии СУБД Oracle 9/ Release 2 основное внимание уделялось языку XML (Extensible Markup Language), а также были предоставлены многие другие дополнительные возможности, такие как ассоциативные массивы, для индексирования которых в дополнение к целым числам могли использоваться строки VAR- CHAR2, записеориентированные операторы DML (позволяющие, например, выполнить вставку с использованием записи) и множество усовершенствований UTL_FILE (для поддержки чтения/записи файлов из программы PL/SQL). |
10.1 | 10.1 | Версия Oracle Database 10g Release 1 была выпущена в 2004 году и посвящена поддержке распределенных вычислений, при этом особое внимание уделялось усовершенствованию и автоматизации управления базой данных. Очевидно, что для разработчиков PL/SQL важнейшими новыми возможностями были оптимизированный компилятор и предупреждения, выдаваемые в процессе компиляции. |
10.2 | 10.2 | Версия Oracle 10g Release 2, появившаяся осенью 2005, предложила разработчикам PL/SQL несколько новых возможностей, наиболее значимой из которых являлась поддержка синтаксиса препроцессора, делающая возможной условную компиляцию частей программы в зависимости от пользовательских логических выражений. |