4) символы табуляции, пробелы и символы возврата каретки.
Лексемы, группы символов алфавита, делятся на идентификаторы, литералы, разделители и комментарии.
Идентификаторыимеют длину до тридцати символов и состоят из прописных и строчных букв, цифр и знака подчеркивания, причем первой должна быть буква. Допускается, но не рекомендуется использовать специальные символы, такие как #, $. Некоторые из идентификаторов в языке PL/SQL имеет специальное синтаксическое значение. Такие идентификаторы называются зарезервированными и не должны переопределяться.
Литералы – это явно заданное число, символ, строка или логическое значение, не представленное идентификатором. Литералы делятся на числовые, строковые и логические.
Числовые литералы бывают двух типов: целые и действительные. Целые литералы – это знаковые числа без десятичной точки (6 ; -14). Действительные литералы – знаковые целые или дробные числа с десятичной точкой (6.667; -12.0). Допускается запись числовых литералов в экспоненциальной форме (1.0Е-7; 2Е5).
Строковые литералы – это последовательность символов, заключенных в одинарные кавычки (апострофы). Все строковые литералы, за исключением пустой строки ('') имеют тип CHAR. Если в строковом литерале необходимо указать одинарную кавычку, то при записи она просто удваивается.
Логические литералы – это предопределенные значения TRUE, FALSE и NULL. NULL указывает на неизвестное значение.
Разделитель – это совокупность одного или двух символов, которая имеет определенное значение в PL/SQL. Простые разделители содержат только один символ. К ним относятся, например, знаки арифметических операций ( + , – , * , / ), знаки операций отношения ( = , > , < ), признак конца выражения ( ; ). Составные разделители содержат два символа. К ним относятся, например, оператор присваивания ( := ), оператор конкатенации ( | | ), операция возведения в степень ( ** ), начало и конец метки ( << >> ), оператор диапазона ( .. ), операция отношения неравно (<>, !=, ~=, ^= ), операция отношения меньше или равно ( <= ), операция отношения больше или равно ( >= ).
Комментарии содержат пояснительный текст и делятся на однострочные и многострочные. Однострочный комментарий представляет собой строку, начинающуюся с двух символов дефис (-). В многострочном комментарии текст заключается в специальные разделители: /* */.
13.2. Структура программы.
Представляет собой набор блоков PL/SQL, рекурсивно вложенных друг в друга.
Структура блока:
[<<метка>>]
[DECLARE
раздел объявлений]
BEGIN
исполняемый раздел
[EXEPTION
раздел обработки исключений]
END[<<метка>>];
Обязательным должен быть только исполняемый раздел, содержащий операторы языка. Существуют следующие типы блоков: анонимные, именованные, триггеры и подпрограммы (процедуры, функции, пакеты). Анонимные блоки в отличие от именованных не содержат меток. Именованные и анонимные блоки называются динамическими.