Я использую Sybase ASE 15.7. Я хочу создать триггер перед вставкой, чтобы перед вставкой я хотел изменить некоторые поля во вставленной строке.
Пожалуйста, помогите Спасибо!
Я использую Sybase ASE 15.7. Я хочу создать триггер перед вставкой, чтобы перед вставкой я хотел изменить некоторые поля во вставленной строке.
Пожалуйста, помогите Спасибо!
С точки зрения триггера у вас есть несколько вариантов:
for insert
триггер; должен быть определен относительно базовой таблицы; этот триггер сработает после вставки данных в таблицу; триггер будет закодирован для выполнения обновлений базовой таблицы вновь вставленной строкиinstead of
триггер; должно быть определено для представления (представление будет определено для базовой таблицы); вы бы выполнили свою вставку против представления, что вызвало бы срабатывание триггера instead of
; триггер будет закодирован для копирования/манипулирования данными из псевдотаблицы inserted
и записи окончательного набора данных в базовую таблицуСм. создание триггера для более подробной информации.
Другой вариант — написать хранимую процедуру, которая выполняет все изменения перед вставкой; вместо вставки непосредственно в базовую таблицу вы должны вызвать хранимую процедуру (передав все значения столбца в качестве входных параметров). [конечно, далеко не идеально]
Конечно, есть еще один вариант: приложение должно выполнять проверки и правки перед вставкой перед вставкой окончательного набора данных в базовую таблицу.
varied places
для выполнения вставки в представление (с триггером instead of
в представлении), то нет, вы не сможете предварительно изменить данные до того, как они будут вставлены в таблицу
- person markp-fuso; 09.01.2021