русс | укр

Языки программирования

ПаскальСиАссемблерJavaMatlabPhpHtmlJavaScriptCSSC#DelphiТурбо Пролог

Компьютерные сетиСистемное программное обеспечениеИнформационные технологииПрограммирование

Все о программировании


Linux Unix Алгоритмические языки Аналоговые и гибридные вычислительные устройства Архитектура микроконтроллеров Введение в разработку распределенных информационных систем Введение в численные методы Дискретная математика Информационное обслуживание пользователей Информация и моделирование в управлении производством Компьютерная графика Математическое и компьютерное моделирование Моделирование Нейрокомпьютеры Проектирование программ диагностики компьютерных систем и сетей Проектирование системных программ Системы счисления Теория статистики Теория оптимизации Уроки AutoCAD 3D Уроки базы данных Access Уроки Orcad Цифровые автоматы Шпаргалки по компьютеру Шпаргалки по программированию Экспертные системы Элементы теории информации

Назначение триггеров


Дата добавления: 2014-02-04; просмотров: 927; Нарушение авторских прав


Триггеры

КОНТРОЛЬНЫЕ ВОПРОСЫ

FROM USP

IF EXISTS (SELECT PKOD, NOM_ZACH

CREATE PROC IND_STIP

END

END

ELSE 0

WHEN 5 THEN 40

WHEN 4 THEN 30

WHEN 3 THEN 20

BEGIN

AS

CREATE PROCEDURE STIP

EXEC STIP 3

END

END

ELSE 0

WHEN 5 THEN 40

WHEN 4 THEN 30

PRINT ‘Установлена стипендия:’

PRINT @X

Вызов:

3.Функция, реализующая эту же задачу:

@N TINYINT

DECLARE @X REAL

SELECT @X=

CASE @N

RETURN @X

DECLARE @ST REAL

EXEC @St=Stip 3

SELECT "стипендия =", @ST

3. Процедура для повышения стипендии студентам, прослушавшим спецкурс по заданному предмету.

В процедуру будут передаваться следующие параметры: @NOM_ZACH – номер зачетки, @PKOD – код предмета и @IND – процент индексации стипендии.

 

(@NOM_ZACH int,

@PKOD smallint,

@IND real)

AS

WHERE NOM_ZACH = @ NOM_ZACH

AND PKOD= @PKOD)

UPDATE STUDENTS SET STIP=STIP*@IND

Для запуска процедуры:

EXEC IND_STIP @NOM_ZACH = 1298, @PKOD =1212, @IND=1.2

1. С какой целью создаются хранимые процедуры?

2. Где хранятся хранимые процедуры?

3. Как осуществляется вызов хранимых процедур?

4. Какие операторы управления включает Transact SQL?

5. Каким образом осуществляется присваивание значений в Transact SQL?

6. Как осуществляется вызов хранимой процедуры?

7. Какими ключевыми словами задается режим компиляции и режим сохранения исходного текста при создании хранимой процедуры?

8. Какими способами могут быть переданы параметры в хранимую процедуру?



9. Какая функция Transact SQL возвращает количество незавершенных транзакций?

10. Каким образом задаются параметры вывода при создании и вызове хранимых процедур?

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

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

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

Триггеры не возвращают наборы результатов. Это связано с тем, что операторы INSERT, UPDATE и DELETE не должны возвращать наборы результатов. Как и хранимые процедуры, триггеры содержат операторы языка Transact-SQL.

В зависимости от выполняемых пользователем действий, приводящих к запуску триггера, они делятся на три категории:

· триггеры изменения (запускаются при попытке изменения данных с помощью команды UPDATE);

· триггеры вставки (запускаются при попытке вставки данных с помощью команды INSERT);

· триггеры удаления (запускаются при попытке удаления данных с помощью команды DELETE).

При работе с триггерами доступны две специальные таблицы: таблиц вставок (INSERTED) и таблица удалений (DELETED) со структурой идентичной структуре таблицы, с которой связан триггер.

При выполнении операции DELETE строки, удаленные из модифицируемой таблицы помещаются в таблицу DELETED. При выполнении операции INSERT строки, добавленные в модифицируемую таблицу, помещаются в таблицу INSERTED. При выполнении операции UPDATE исходное значение строки для каждой измененной строки ее исходное значение помещается в таблицу DELETED, а новое значение – в таблицу INSERTED. Данные таблиц INSERTED и DELETED можно использовать в триггере.



<== предыдущая лекция | следующая лекция ==>
WHEN 3 THEN 20 | FOR DELETE


Карта сайта Карта сайта укр


Уроки php mysql Программирование

Онлайн система счисления Калькулятор онлайн обычный Инженерный калькулятор онлайн Замена русских букв на английские для вебмастеров Замена русских букв на английские

Аппаратное и программное обеспечение Графика и компьютерная сфера Интегрированная геоинформационная система Интернет Компьютер Комплектующие компьютера Лекции Методы и средства измерений неэлектрических величин Обслуживание компьютерных и периферийных устройств Операционные системы Параллельное программирование Проектирование электронных средств Периферийные устройства Полезные ресурсы для программистов Программы для программистов Статьи для программистов Cтруктура и организация данных


 


Не нашли то, что искали? Google вам в помощь!

 
 

© life-prog.ru При использовании материалов прямая ссылка на сайт обязательна.

Генерация страницы за: 0.312 сек.