Описание работы триггера
Добавление поля: Мы добавили поле
updated_at, чтобы отслеживать время последнего
обновления записи.
Функция триггера: Функция
update_timestamp устанавливает текущее время
в поле updated_at.
Триггер: Триггер update_students_timestamp
срабатывает перед каждым обновлением
записи, вызывая функцию update_timestamp.
Проверка: Мы можем проверить, что
поле updated_at обновилось, выполнив
обновление записи и затем запросив её.
Это очень простой и полезный триггер,
который позволит отслеживать время
последнего изменения данных о студентах.
Контрольные вопросы
В чем отличие между процедурой и
функцией?
Что такое курсоры?
Для каких целей используют триггеры?
Возможно ли написать триггерную функцию
на языке SQL?
Для чего нужны представления?
1.
В чем отличие между процедурой и функцией?
Процедура
и функция — это оба типы программных
модулей, но они имеют некоторые отличия.
Основное отличие заключается в том, что
функция возвращает значение (может быть
использована в выражениях), в то время
как процедура может выполнять действия,
но не возвращает значение. Также функции
чаще используются для вычислений, а
процедуры — для выполнения операций,
таких как модификация данных.
2.
Что такое курсоры?
Курсоры
— это объекты, которые позволяют
программам обрабатывать наборы строк,
возвращаемых запросом, по одной строке
за раз. Курсоры позволяют вам итеративно
проходить через результаты выборки,
что полезно для выполнения более сложных
операций с каждой строкой.
3.
Для каких целей используют триггеры?
Триггеры
используются для автоматического
выполнения определенных действий в
базе данных при возникновении определенных
событий, таких как вставка, обновление
или удаление данных в таблице. Это может
включать проверку целостности данных,
автоматическое обновление связанных
таблиц, логирование изменений и другие
задачи.
4.
Возможно ли написать триггерную функцию
на языке SQL?
Да,
в большинстве систем управления базами
данных (СУБД) можно написать триггерные
функции на языке SQL. Однако многие СУБД
поддерживают написание триггеров на
других языках программирования (например,
PL/pgSQL в PostgreSQL), что предоставляет больше
возможностей для управления логикой
триггера.
5.
Для чего нужны представления?
Представления
— это виртуальные таблицы, которые
содержат результаты заранее определенного
запроса. Они используются для упрощения
сложных запросов, обеспечения безопасности
данных (ограничивая доступ к определенным
столбцам или строкам), а также для
абстракции и обеспечения согласованности
данных, поскольку изменения в базовой
таблице автоматически отражаются в
представлениях.