Многие идентификаторы, называемые зарезервированными (или ключевыми) словами, имеют в PL/SQL особое значение. Использовать эти слова для именования собственных идентификаторов нельзя. Например, ключевые слова BEGIN и END применяются для ограничения блоков PL/SQL, поэтому их нельзя использовать в качестве имен переменных. Ниже приводится недопустимый раздел объявлений, так как begin является зарезервированным словом. При обработке этого раздела будет выдано сообщение об ошибке компиляции:
Г) DECLARE
begin NUMBER;
Эти слова нельзя использовать как собственно идентификаторы, но их можно включать в состав других идентификаторов. Например, следующий
раздел объявлений допустим:
DECLARE
v_BeginDate DATE;
В этой книге зарезервированные слова выделяются заглавными буквами, что делает программы более удобочитаемыми. Полный список зарезервированных слов содержится в приложении А.
Идентификаторы в кавычках
Если нужно сделать идентификатор чувствительным к регистру символов, включить в его состав такие символы, как пробелы, или воспользоваться зарезервированными словами, следует заключить его в двойные кавычки. Ниже приводятся корректные и отличающиеся друг от друга
идентификаторы:
"A number" "Linda's variable"
"х/у" "X/Y"
Максимальная длина идентификаторов в кавычках также равна 30 символам (без учета кавычек). В состав идентификатора в кавычках может
входить любой печатный символ, за исключением двойных кавычек.
Идентификаторы в кавычках полезны в случае необходимости использовать зарезервированное слово PL/SQL в SQL-операторе. В PL/SQL зарезервировано больше слов, чем в SQL (см. приложение А). Например,
обратиться с запросом к таблице, содержащей столбец exception (зарезервированное слово), можно так:
Г) DECLARE
v_ Exception VARCHAR2(10); BEGIN
SELECT "EXCEPTION" INTO v_Exception FROM exception_table;
END;
Обратите внимание, что слово "EXCEPTION" написано прописными
буквами. Все объекты Oracle хранятся в словаре данных в верхнем регистре, если только идентификатор не создан явным образом (оператором
CREATE) как идентификатор в кавычках с помощью символов нижнего регистра. Строки внутри двойных кавычек являются зависимыми от регистра символов, поэтому "EXCEPTION" также должно быть записано в верхнем регистре.
Использование зарезервированных слов в качестве идентификаторов
не запрещено, но считается плохим стилем программирования и затрудняет понимание программы. Оно может потребоваться в единственном случае, когда в таблице базы данных зарезервированное слово PL/SQL применяется как имя некоторого столбца. Поскольку в PL/SQL больше зарезервированных слов, чем в SQL, в таблице может содержаться столбец, имя которого является зарезервированным словом PL/SQL, но не является таковым в SQL. Подобную ситуацию и иллюстрирует таблица exceptionable из предыдущего примера.
Совет
Хотя таблица exception_table вполне может использоваться в PL/SQL, рекомендуется переименовать некорректный столбец. Если определение таблицы изменить нельзя, в качестве альтернативы можно создать представление, в котором данный столбец будет иметь другое имя. Затем это представление можно использовать в PL/SOL. Для примера предположим, что таблица exception_table создана следующим образом:
CREATE TABLE exception table (
exception VARCHAR2(20),
date_occured DATE): С учетом этого можно создать представление:
CREATE VIEWexception_viewAS SELECT exception exception_description, date_occured FROM exception_table; Теперь вместо таблицы exception table можно использовать представление exception_view, и на рассматриваемый столбец можно ссылаться как на exception_description, что не является зарезервированным словом.
Ограничители
Ограничители - это символы (один символ или их последовательность), которые имеют специальное значение в PL/SQL. Они применяются для отделения идентификаторов друг от друга. Список ограничителей PL/SQL приведен в таблице 3.1.
< Предыдущая | Следующая > |
---|