Я человек с графическим интерфейсом SQL и у меня меньше опыта написания триггеров.Я немного искал и нашел следующий код.Я не могу сделать никакого изменения параметра уровня базы данных и не могу изменить схему таблицы.Столбец с именем Myvalue будет числом, но в некоторых он будет отображать десятичное значение.Моя цель состоит в том, чтобы при вставке или обновлении значение столбца Myvalue было целым числом.Если десятичное значение обновляется или вставляется, триггер сработает и удалит десятичное значение.Будет ли следующий код делать работу?Нужно ли использовать команду trigger_nestlevel, чтобы избежать рекурсии?Как я могу проверить, чтобы убедиться, что триггер запускается один раз, даже с несколькими строками при вставке или обновлении?
DROP TRIGGER IF EXISTS 'Mytrigger'
CREATE TRIGGER ON Table1
AFTER insert, update
AS
BEGIN
IF TRIGGER_NESTLEVEL(OBJECT_ID('Mytrigger')) <= 1
BEGIN
set nocount on
UPDATE Mytable set Myvalue=substring(Myvalue,0,charindex('.',Myvalue))
FROM Mytable t
inner join inserted i on i.Myvalue like '%.%'
END
END