Разница между триггерами и хранимыми процедурами

Разница между триггерами и хранимыми процедурами
Разница между триггерами и хранимыми процедурами

Видео: Разница между триггерами и хранимыми процедурами

Видео: Разница между триггерами и хранимыми процедурами
Видео: Триггеры и хранимые процедуры в MS SQL Server (Triggers and stored procedures) 2024, Апрель
Anonim

Триггеры против хранимых процедур

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

Что такое триггеры?

Триггер - это процедура (сегмент кода), которая выполняется автоматически, когда в таблице / представлении базы данных происходят определенные события. Помимо прочего, триггеры в основном используются для поддержания целостности базы данных. Триггеры также используются для обеспечения соблюдения бизнес-правил, аудита изменений в базе данных и репликации данных. Наиболее распространенными триггерами являются триггеры языка обработки данных (DML), которые срабатывают при манипулировании данными. Некоторые системы баз данных поддерживают триггеры, не связанные с данными, которые запускаются при возникновении событий языка определения данных (DDL). Некоторыми примерами являются триггеры, которые срабатывают при создании таблиц, при выполнении операций фиксации или отката и т. Д. Эти триггеры могут особенно использоваться для аудита. Система баз данных Oracle поддерживает триггеры уровня схемы (т. Е.триггеры, запускаемые при изменении схем базы данных), такие как После создания, Перед изменением, После изменения, Перед удалением, После удаления и т. д. Oracle поддерживает четыре основных типа триггеров: триггеры уровня строк, триггеры уровня столбца, триггеры каждого типа строки и Для триггеров типа каждого утверждения.

Что такое хранимые процедуры?

Хранимая процедура - это метод, который может использовать приложение, обращающееся к реляционной базе данных. Обычно хранимые процедуры используются как метод проверки данных и управления доступом к базе данных. Если какая-либо операция обработки данных требует выполнения нескольких операторов SQL, такие операции реализуются как хранимые процедуры. При вызове хранимой процедуры необходимо использовать оператор CALL или EXECUTE. Хранимые процедуры могут возвращать результаты (например, результаты операторов SELECT). Эти результаты могут использоваться другими хранимыми процедурами или приложениями. Языки, которые используются для написания хранимых процедур, обычно поддерживают структуры управления, такие как if, while, for и т. Д. В зависимости от используемой системы баз данных, несколько языков могут использоваться для реализации хранимых процедур (например, PL / SQL и java в Oracle, T- SQL (Transact-SQL) и. NET Framework в Microsoft SQL Server). Кроме того, MySQL использует свои собственные хранимые процедуры.

В чем разница между триггерами и хранимыми процедурами?

Триггер - это процедура (сегмент кода), которая выполняется автоматически, когда в таблице / представлении базы данных происходят определенные события, а хранимая процедура - это метод, который может использоваться приложением, обращающимся к реляционной базе данных. Триггеры выполняются автоматически, когда происходит событие, на которое должен реагировать триггер. Но для выполнения хранимой процедуры необходимо использовать специальный оператор CALL или EXECUTE. Отладка триггеров может быть сложнее и сложнее, чем отладка хранимых процедур. Триггеры очень полезны, когда вы хотите убедиться, что что-то происходит при наступлении определенного события.

Рекомендуем: