PL/SQL - это процедурное расширение языка SQL (Structured Query Language - структурированный язык запросов). SQL сегодня является повсеместно распространенным языком для выполнения запросов и изменений (хоть в его названии об этом и не говорится) в реляционных базах данных. Корпорация Oracle ввела в употребление PL/SQL для того, чтобы избавиться от некоторых ограничений, существующих в SQL, а также для того, чтобы иметь возможность предложить более полное программное решение разработчикам жизненно важных приложений, работающих с базами данных Oracle. Далее я расскажу о происхождении языка PL/SQL и приведу краткий обзор основных его элементов.
Я не надеюсь на то, что, прочитав мой блог, вы сразу же сможете писать блестящие программы на PL/SQL. Я лишь хочу быть уверены в том, что ваших знаний о языке окажется достаточно для понимания и работы с примерами и описаниями функциональности, приводимыми в моем блоге. Уделяя особое внимание тем особенностям языка, которые наиболее интересны для администратора баз данных, я также хочу показать вам всю широту и мощь PL/SQL.
Конечно, в рамки одного блога невозможно вместить все сведения о PL/SQL. Если вы никогда ранее не писали программ и сценариев на PL/SQL, то, вероятно, вам стоит обратиться за дополнительной информацией к двум книгам издательства O’Reilly: «Learning Oracle PL/SQL» (Изучаем Oracle PL/SQL) и «Oracle PL/SQL Programming» (Программирование на Oracle PL/SQL).
Думаю для новичков в языке сила в синергии - подчерпывание информации из интересных блогов, рассказывающих простым языком о сложном, плюс формальный, но четкий, язык учебной литературы по PL/SQL.
Что такое PL/SQL?
Язык Oracle PL/SQL имеет ряд определяющих характеристик:
- PL/SQL - это высокоструктурированный, удобочитаемый и доступный язык.
- PL/SQL отлично подходит для начинающих программистов. Язык несложен в изучении, названия его многочисленных ключевых слов и структур явно указывают на то, что делает данный фрагмент кода. Если вы знакомы с другими языками программирования, то без труда привыкнете к новому синтаксису.
- PL/SQL - это стандартный и переносимый язык для разработки приложений на Oracle. Написав на своем компьютере PL/SQL-процедуру или функцию для работы с базой данных Oracle, вы можете затем перенести эту процедуру в базу данных своей корпоративной сети и выполнять ее без каких бы то ни было изменений (естественно, при условии совместимости версий Oracle). Принцип «Write once, run everywhere» (написав однажды, запускай везде) был девизом PL/SQL задолго до появления Java. Для PL/SQL «везде» понимается как «везде, где есть база данных Oracle».
- PL/SQL - это встроенный язык.
- PL/SQL создавался не для автономной работы, а для того чтобы выполняться в определенной среде. Например, вы можете запускать программы на PL/SQL в базе данных (скажем, через интерфейс SQL*Plus). Вы также можете создать программу на PL/SQL и вы-звать ее из формы или отчета Oracle Developer (так называемый «клиентский PL/SQL»). Однако невозможно создать исполняемый файл PL/SQL, который выполнялся бы сам по себе.
- PL/SQL - это высокопроизводительный и высокоинтегрированный язык для работы с базами данных.
В наше время существует широкий выбор средств, которые можно применять при создании приложений, работающих с базами данных Oracle. Можно использовать Java и JDBC, Visual Basic и ODBC, Delphi, C++ и т. д. Однако вы увидите, что проще всего написать эффективный код для доступа к базе данных Oracle именно на PL/SQL. В частности, Oracle предлагает некоторые специальные дополнительные возможности для PL/SQL, такие как конструкция FORALL, которые могут на порядок повысить производительность базы данных.