SQL - триггер для обновления сетки данных при размещении данных в столбце - PullRequest
0 голосов
/ 26 октября 2019

У меня возникли некоторые трудности с триггерами. У меня есть столбец таблицы данных ValorIva в таблице regsitrab_db, из "GTA_db", когда я вставляю значение IVA, мне нужно сделать обновление, чтобы записать ValorIva в сетку данных. Как я могу это сделать?

Я пробовал это:

create trigger Atualizar_Iva
on RegisTrab_db
After insert
as
Begin
    Declare @valor decimal(3, 2)

    Select @Valor = Valor

    Update ValorIva 
    set ValorIva = @Valor * 1,23
end
go

Цель: у меня есть число в столбце IVA, и мне нужно вызвать это число, чтобы умножить на 1,23,Примерно так ... 50 * 1,23 и показать данные в ValorIva

Доблесть = 50 Валорива = 61,5 (50 * 1,23)

Спасибо

Ответы [ 2 ]

0 голосов
/ 28 октября 2019

создать триггер AtualizarIva_trg на RegisTrab_db

после вставки в качестве начала. Объявить @Valor десятичное (3,2)

Выбрать @ Valor = Valor FROM вставлено

обновить RegisTrabdb SET ValorIva= @Valor * 1.23

end

go

Этот код работает (не выдает ошибку), но БД остается прежним ... что я делаю не так

0 голосов
/ 27 октября 2019

В вашем коде вы используете десятичную запятую вместо десятичной точки:

set ValorIva = @Valor * 1,23

должно быть:

set ValorIva = @Valor * 1.23

Но я бы лично сохранил входное значение в отдельномстолбец (т. е. Iva) и используйте другой столбец Computed (IvaCalc) для расчета того, что требуется (например, Iva * 1,23).

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...