×
Мы обрабатываем cookies, чтобы сделать наш сайт удобнее и персонализированнее для вас. Подробнее: политика использования «cookies» и «политики конфиденциальности».

Для самостоятельной настройки ознакомьтесь с инструкцией

Дополнительные настройки cookies в браузерах

Файлы cookie автоматически загружаются в ваш браузер при посещении веб-сайта. У вас есть возможность управлять этими файлами. Если Вы не согласны с использованием файлов cookies, запретите их сохранение на своём устройстве, удалите уже имеющиеся файлы cookies через настройки браузера или прекратите использование сайта.

При отключении обработки cookie наш сайт продолжит функционировать, однако будут использоваться исключительно необходимые технические файлы, без которых работа ресурса невозможна.

Инструкция по отключению cookies
Принять
Настроить
Отклонить

ДОКУМЕНТАЦИЯ

Выберите версию, форк и язык для СУБД Digital Q.DataBase, чтобы прочитать или скачать всю документацию.
Техподдержка
Документация
Диасофт
Авторские права © 2016–2025 ООО "Диасофт Экосистема"
Скачать всю документацию:

5.2.2. Видимость изменений данных

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

  • Триггеры уровня оператора следуют простым правилам видимости: ни одно из изменений, внесенных оператором, не является видимым для триггеров уровня оператора, BEFORE в то время как все изменения видны триггерам уровня оператора AFTER triggers.

  • Изменение данных (вставка, обновление или удаление), вызывающее срабатывание триггера, естественным образом не видимо для SQL-команд, выполняемых в триггере уровня строки, BEFORE триггере, так как оно еще не произошло.

  • Однако SQL-команды, выполняемые в триггере уровня строки, BEFORE триггер будут видеть результаты изменений данных изменения в строках, обработанных ранее в рамках той же внешней команды. Это требует осторожности, так как порядок следования этих событий изменения в общем случае непредсказуем; SQL-команда, которая затрагивает несколько строк, может обрабатывать строки в любом порядке.

  • Аналогичным образом, триггер уровня INSTEAD OF строки будет видеть результаты изменений данных, внесенных при предыдущих срабатываниях INSTEAD OF триггеров в той же внешней команде.

  • При срабатывании триггера уровня AFTER строки все изменения данных, произведенные внешней командой, уже завершены и доступны вызываемой триггерной функции.

Если триггерная функция написана на любом из стандартных процедурных языков, то вышеуказанные утверждения применимы только в том случае, если функция объявлена как VOLATILE. Функции, объявленные как STABLE или IMMUTABLE в любом случае не будут видеть изменения, внесенные вызывающей командой.

Дополнительные сведения о правилах видимости данных приведены в Раздел 5.10.5. Пример в Раздел 5.2.4 демонстрирует применение этих правил.

Наверх
свяжитесь
с нами
контакты
Для прямой связи с нами вы можете использовать контакты ниже, либо оставить заявку через форму обратной связи, и мы обязательно свяжемся с вами

*поля обязательные к заполнению