пятница, 22 октября 2010 г.

Основы PL/SQL 1

В октябре мы уже довольно плотно стали изучать язык программирования PL/SQL. Несколько аспектов этого языка мы уже изучили, так что возвращаться к ним я не буду, так как – предстоит изучить еще довольно много информации, которая у меня есть. Вся она связана с разбором языка PL/SQL.

В ближайшее время я планирую рассказать несколько статей, связанных с подробным рассмотрением основ языка PL/SQL. Сегодняшняя статья – это первая из этой серии. Постараюсь в скором времени снабдить публикуемые статьи подробными кодовыми комментариями (то есть – с кодом программ):

Основы PL/SQL:

1.      Наборы символов и лексем
2.      Объявления
3.      Правила именования
4.      Область действия и видимость идентификаторов PL/SQL
5.      Присваивание значений переменным
6.      Выражения и операции сравнения PL/SQL
7.      Функции выдачи сообщений об ошибках в PL/SQL
8.      Использование функций SQL в PL/SQL
9.      Условная компиляция
10.  Использование PL/SQL для веб-приложений и серверных страниц

Сегодня я сумею рассмотреть только первые две темы, так как статья будет довольно большой, если рассматривать три или четыре темы здесь:

1. Наборы символов и лексем:

PL/SQL поддерживает два набора символов – символы базы данных и национальный язык. Сейчас рассмотрим только первый набор.
Программы PL/SQL представляют собой набор текстовых строк, записанных с помощью следующих символов: A .. Z, a .. z, 0 .. 9, спецсимволы (« № ; и тд), знак табуляции, пробел и возврат каретки.
Строка текста программы на PL/SQL состоит из лексем (лексических единиц). Лексемы бывают нескольких видов – ограничители, идентификаторы, литералы и комментарии.

Ограничители – это простой или составной символы, которые в PL/SQL имеют особое значение. Ограничители – это, например, математические операции (+, -, / и тд), операции отношения (>, <, >= и тд), присваивание (:=) и другие операции.

Идентификаторы – это специальные лексемы, с их помощью именуются программные элементы PL/SQL. Идентификатор должен начинаться с буквы, в них нельзя использовать следующие знаки: ­– / и знак пробела. Длина идентификатор должна быть не более тридцати символов. Идентификаторы разделяются на три вида – зарезервированные, предопределенные и заключенные в кавычки.

Литералы – это явно заданное значение идентификатора. Литералы бывают числовыми, символьными, строковыми, белевыми и даты и времени.

Комментарии – они не воспринимаются компилятором PL/SQL. Комментарии необходимы для того, чтобы упростить понимание программы. Они бывают двух видов – однострочные (каждую строчку такого комментария нужно начинать со следующих символов --) и многострочные (можно заключать много строк, но в начале ставить символы /* в конце */).

2. Объявления:

Объявления – это переменные и константы. Они могут быть объявлены в разделе объявлений любого блока, подпрограммы или пакета PL/SQL.
DECLARE
     FIO  VARCHAR2;
     Age  INTEGER := 20;
По умолчанию переменные инициализируются значение NULL.
Объявления, в свою очередь, тоже бывают нескольких видов:

1. Константы – это переменные, значения которых нельзя изменять. В их объявлении необходимо использовать ключевое слово CONSTANT:
Name_Const CONSTANT INTEGER := 500;

2. Ключевое слово DEFAULT – вместо операции присваивания (в инициализации переменных) можно использовать это слово (лучше всего там, где будут использоваться типизированные значения):
     Age INTEGER DEFAULT 20;

3. Ограничение NOT NULL – при объявлении переменной, ей можно указать ограничение NOT NULL:
     Age INTEGER NOT NULL := 20;
Объявленная таким образом переменная не может принимать неопределенное значение (NOT NULL).

4. Атрибут %TYPE – с его помощью можно объявить тип данных переменной как у ранее объявленной переменной либо столбца базы данных:
     Age INTEGER;
     Age2 Age%TYPE;

5. Атрибут %ROWTYPE – позволяет определить тип записи (строка таблицы или представления). При использовании этого атрибута наследуются также ограничения и значения по умолчанию.

Существуют также и ограничения на объявления – переменную нужно сначала объявить, и только после этого обращаться к ней. Переменные, принадлежащие к одному и тому же типу, необходимо объявлять по отдельности (а не списком, как в языке программирования паскаль). Для экономии места можно объявлять переменные в одной строке.


Комментариев нет:

Отправить комментарий