Приоритеты операций SQL
Унарные арифметические операции + - операция PRIOR
Арифметические операции * /
Бинарные арифметические операции + - символьная операция | |
Все операции сравнения
Логическая операция NOT
Логическая операция AND
Логическая операция OR
Унарные арифметические операции + -
Арифметические операции * /
Бинарные арифметические операции + -
2.3.2.4 Процедурное расширение языка SQL - PL/SQL.
Oracle Server - полнофункциональная реляционная СУБД, которая идеально подходит для архитектур клиент/сервер и интернет/интранет. Особенности внутренней архитектуры Oracle ориентированы на обеспечение готовности, максимальной пропускной способности, безопасности и эффективного использования ресурсов.
Oracle также присущи черты, связанные с используемым языком программирования, которые способствуют ускорению разработки и улучшению эффективности серверной части приложений:
Один из основных компонентов Oracle Server - его процессор PL/SQL. (PL - Procedural Language - процедурный язык.)
PL/SQL - язык Oracle четвертого поколения, объединяющий структурированные элементы процедурного языка программирования с языком SQL, разработанный специально для организации вычислений в среде клиент/сервер. Он позволяет передать на сервер программный блок PL/SQL, содержаший логику приложения, как оператор SQL, одним запросом. Используя PL/SQL, можно значительно уменьшить объем обработки в клиентской части приложения и нагрузку на сеть. Например, может понадобиться выполнить различные наборы операторов SQL в зависимости от результата некоторого запроса. Запрос, последующие операторы SQL и операторы условного управления могут быть включены в один блок PL/SQL и пересланы серверу за одно обращение к сети.
|
|
При этом вся логика приложений делится на клиентскую и серверную части. Серверная часть может быть релаизована в виде функций, хранимых процедур и пакетов.
Функции. Часть логики приложения ориентированной на выполнение конкретного комплекса операций на сервере, результат которых возвращается в виде значения функции. Откомпилированные функции и их исходные тексты содержатся в базе данных.
Хранимые процедуры. Часть логики приложения, особенно нуждающаяся в доступе к базе данных, может храниться там, где она обрабатывается (на сервере). Хранимые процедуры не возвращают значения результата, обеспечивают удобный и эффективный механизм безопасности. Откомпилированные хранимые процедуры и их исходные тексты содержатся в базе данных.
Пакеты. Часть логики приложений: фукций и пакетов, предназначеных для решениях задач в рамках одного модуля (подсистемы) АИС.
Триггеры базы данных. Можно использовать триггеры, чтобы организовать сложный контроль целостности, выполнять протоколирование (аудит) и другие функции безопасности, реализовать в приложениях выдачу предупреждений и мониторинг.
|
|
Декларативная целостность. Ограничения активизируются сервером всякий раз, когда записи вставляются, обновляются или удаляются. В дополнение к ограничениям ссылочной целостности, которые проверяют соответствие первичного и внешнего ключей, можно также накладывать ограничения на значения, содержащиеся в столбцах таблицы. Поддержка целостности на сервере уменьшает размер кода клиентской части, необходимого для проверки допустимости данных, и увеличивает устойчивость бизнес- модели, определенной в базе данных.
Список, зарезервированных слов PL/SQL
Язык PL/SQL также включает зарезервированные слова, имеющие определенное значение в операторах PL/SQL.
ABORT | DEFINITION | NOT | TADAUTH |
ACCEPT | DELAY | NULL | TABLE |
ACCESS | DELETE | NUMBER | TABLES |
ADD | DELTA | NUMBER_BASE | TASK |
ALL | DESC | OF | TERMINATE |
ALTER | DIGITS | ON | THEN |
AND | DISPOSE | OPEN | TO |
ANY | DISTINCT | OPTION | TRUE |
ARRAY | DO | OR | TYPE |
ARRAYLEN | DROP | ORDER | UNION |
AS | ELSE | OTHERS | UNIQUE |
ASC | ELSIF | OUT | UPDATE |
ASSERT | END | PACKAGE | USE |
ASSIGN | ENTRY | PARTITION | VALUES |
AT | EXCEPTION | PCTFREE | VARCHAR |
AUTHORIZATION | EXCEPTION_INIT | PRAGMA | VARCHAR2 |
AVG | EXISTS | PRIOR | VARIANCE |
BEGIN | EXIT | PRIVATE | VIEW |
BETWEEN | FALSE | PROCEDURE | VIEWS |
BODY | FETCH | PUBLIC | WHEN |
BOOLEAN | FOR | RAISE | WHERE |
BY | FORM | RANGE | WHILE |
CASE | FROM | REAL | WITH |
CHAR | FUNCTION | RECORD | WORK |
CHAR_BASE | GENERIC | RELEASE | XOR |
CHECK | GOTO | REM | |
CLOSE | GRANT | RENAME | |
CLUSTER | GROUP | RESOURCE | |
CLUSTERS | HAVING | RETURN | |
COLAUTH | IDENTIFIED | REVERSE | |
COLUMNS | IF | REVOKE | |
COMMIT | IN | ROLLBACK | |
COMPRESS | INDEX | ROWNUM | |
CONNECT | INDEXES | ROWTYPE | |
CONSTANT | INDICATOR | RUN | |
COUNT | INSERT | SAVEPOINT | |
CRASH | INTEGER | SCHEMA | |
CREATE | INTERSECT | SELECT | |
CURRENT | INTO | SEPARATE | |
CURSOR | IS | SET | |
DATABASE | LEVEL | SIZE | |
DATA_BASE | LIKE | SPACE | |
DATE | LIMITED | SQL | |
DBA | LOOP | SQLCODE | |
DEBUGOFF | MAX | SQLERRM | |
DEBUGON | MIN | START | |
DECIMAL | MINUS | STATEMENT | |
DECLARE | MOD | STDDEV | |
DEFAULT | NEW | SUBTYPE | |
NOCOMPRESS | SU |