W Cat - SQL за 24 часа

Здесь есть возможность читать онлайн «W Cat - SQL за 24 часа» весь текст электронной книги совершенно бесплатно (целиком полную версию без сокращений). В некоторых случаях можно слушать аудио, скачать через торрент в формате fb2 и присутствует краткое содержание. Жанр: Базы данных, на русском языке. Описание произведения, (предисловие) а так же отзывы посетителей доступны на портале библиотеки ЛибКат.

SQL за 24 часа: краткое содержание, описание и аннотация

Предлагаем к чтению аннотацию, описание, краткое содержание или предисловие (зависит от того, что написал сам автор книги «SQL за 24 часа»). Если вы не нашли необходимую информацию о книге — напишите в комментариях, мы постараемся отыскать её.

SQL за 24 часа — читать онлайн бесплатно полную книгу (весь текст) целиком

Ниже представлен текст книги, разбитый по страницам. Система сохранения места последней прочитанной страницы, позволяет с удобством читать онлайн бесплатно книгу «SQL за 24 часа», без необходимости каждый раз заново искать на чём Вы остановились. Поставьте закладку, и сможете в любой момент перейти на страницу, на которой закончили чтение.

Тёмная тема
Сбросить

Интервал:

Закладка:

Сделать
Преимущества использования процедур

Использовать сохраненные ранее процедуры удобнее, чем отдельные операторы SQL по целому ряду причин. Некоторые из этих причин перечислены ниже.

• Операторы сохраненной процедуры уже сохранены в базе данных.

• Операторы сохраненной процедуры уже проверены и находятся в готовом для использования виде

• Возможность сохранения процедур позволяет использовать модульное программирование

• Сохраненные процедуры могут вызывать другие процедуры и функции.

• Сохраненные процедуры могут вызываться другими программами.

• При использовании сохраненных процедур результат ответ от базы данных обычно получается быстрее

• Использовать процедуры очень просто.

Триггеры

Триггер - это откомпилированная процедура, используемая для выполнения действий, инициируемых происходящими в базе данных событиями Триггер представляет собой сохраненную в базе данных процедуру, которая выполняется тогда, когда в отношении таблицы выполняются определенные действия (операторы языка манипуляции данными - DML). Триггер может выполняться до или после операторов INSERT, DELETE или UPDATE. Триггеры можно использовать, например, для проверки целостности данных перед выполнением INSERT, DELETE или UPDATE. С помощью триггеров можно отменять транзакции, а также модифицировать данные одних таблиц и читать данные других даже из других баз данных.

Чаще всего триггеры использовать очень удобно, однако, их использование приводит к значительному увеличению числа операций ввода-вывода. Триггеры не следует использовать тогда, когда сохраненная процедура или программа может добиться тех же результатов с меньшими накладными расходами.

Оператор CREATE TRIGGER

Триггер можно создать с помощью оператора CREATE TRIGGER. Стандарт ANSI предлагает для этого оператора следующий синтаксис.

CREATE TRIGGER TRIGGER NAME

[ [BEFORE | AFTER] TRIGGER EVENT ON TABLE NAME]

[REFERENCING VALUES ALIAS LIST ]

[TRIGGERED ACTION TRIGGER EVENT ::=

INSERT UPDATE | DELETE {OF TRIGGER COLUMN LIST]

TRIGGER COLUMN LIST ::= COLUMN NAME [, COLUMN NAME]

VALUES ALIAS LIST ::=

VALUES ALIAS LIST ::=

OLD [ROW] [AS] OLD VALUES CORRELATION NAME |

NEW {ROW} {AS} NEW VALUES CORRELATION NAME |

OLD TABLE {AS} OLD VALUES TABLE ALIAS |

NEW TABLE {AS} NEW VALUES TABLE ALIAS

OLD VALUES TABLE ALIAS ::= IDENTIFIER

NEW VALUES TABLE ALIAS ::= IDENTIFIER

TRIGGERED ACTION ::=

[FOR EACH [ROW | STATEMENT] [WHEN SEARCH CONDITION]]

TRIGGERED SQL STATEMENT

TRIGGERED SQL STATEMENT ::=

SQL STATEMENT | BEGIN ATOMIC [SQL STATEMENT;]

END

В Microsoft SQL Server синтаксис оператора для создания триггера выглядит следующим образом.

CREATE TRIGGER ИМЯ_ТРИГГЕРА

ON ИМЯ_ТАБЛИЦЫ

FOR { INSERT | UPDATE | DELETE [, ..]}

AS

OnEPATOPH_SQL

[ RETURN ]

В Oracle базовый синтаксис оператора следующий.

CREATE [ OR REPLACE ] TRIGGER ИМЯ_ТРИГГЕРА

[ BEFORE | AFTER]

[ DELETE I INSERT | UPDATE]

ON [ ПОЛЬЗОВАТЕЛЬ.ИМЯ_ТАБЛИЦЫ ]

[ FOR EACH ROW ]

[ WHEN УСЛОВИЕ ]

[ БЛОК PL/SQL ]

Вот пример создания триггера.

CREATE TRIGGER EMP_PAY_TRIG

AFTER UPDATE ON EMPLOYEE_PAY_TBL

FOR EACH ROW

BEGIN

INSERT INTO EMPLOYEE_PAY_HISTORY

(EMP_ID, PREV_PAY_RATE, PAY_RATE, DATE_LAST_RAISE,

TRANSACTION_TYPE)

VALUES

(:NEW.EMP_ID, :OLD.PAY_RATE, :NEW.PAY_RATE,

:NEW.DATE_LAST_RAISE, 'PAY CHANGE');

END;

/

Триггер создан.

В этом примере создается триггер с именем EMP_PAY_TRIG. Этот триггер вставляет строку в таблицу EMPLOYEE_PAY_HISTORY, отражая изменения таблицы EMPLOYEE_PAY_TBL каждый раз, когда данные последней обновляются.

Тело триггера изменить нельзя Для этого триггер придется либо заменить другим, либо воссоздать В некоторых реализациях SQL триггер можно заменить (если триггер с данным именем в системе уже существует) с помощью того же оператора CREATE TRIGGER.

Оператор DROP TRIGGER

Триггер можно удалить с помощью оператора DROP TRIGGER. Синтаксис этого оператора следующий.

DROP TRIGGER ИМЯ_ТРИГТЕPA

Динамический SQL

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

Понять динамический SQL проще всего в сравнении со статическим. Статический SQL - это SQL, обсуждавшийся в книге до сих пор. Статический оператор SQL создается в предположении, что меняться он не будет. Хотя статические операторы SQL могут сохраняться в готовом для выполнения виде, например, в процедурах базы данных, они не обеспечивают той гибкости, которая достигается с помощью динамического SQL.

Читать дальше
Тёмная тема
Сбросить

Интервал:

Закладка:

Сделать

Похожие книги на «SQL за 24 часа»

Представляем Вашему вниманию похожие книги на «SQL за 24 часа» списком для выбора. Мы отобрали схожую по названию и смыслу литературу в надежде предоставить читателям больше вариантов отыскать новые, интересные, ещё непрочитанные произведения.


Отзывы о книге «SQL за 24 часа»

Обсуждение, отзывы о книге «SQL за 24 часа» и просто собственные мнения читателей. Оставьте ваши комментарии, напишите, что Вы думаете о произведении, его смысле или главных героях. Укажите что конкретно понравилось, а что нет, и почему Вы так считаете.

x