У меня возникла проблема с моим триггером: он не распознает мою таблицу, в которой хранится вычисляемый столбец, в котором мне нужны данные.Как использовать вычисленный столбец в if/else
Моя таблица выглядит следующим образом и состоит из нескольких вычисляемых столбцов:
Моя проблема с колонкой In_Months, часть моего триггера выглядит следующим образом:
CREATE TRIGGER [Balance_monthly]
ON [dbo].[Balance]
FOR INSERT, UPDATE
AS
BEGIN
DECLARE @test int;
DECLARE @amount int;
SET NOCOUNT ON
IF Balance.In_Months % 12 = 0
SET @amount = 3;
Это не позволяет меня обновить мой триггер, потому что он не может найти мою таблицу.
Триггеры SQL Server запускаются один раз для каждого оператора, поэтому вам нужно ссылаться на таблицы «вставленные» и/или «удаленные», чтобы получить доступ к измененным данным, и вам нужно понять, что эти таблицы могут содержать * несколько строк. –
Как правило, вы пишете один или несколько запросов на основе набора, которые достигают целей вашего триггера, справляясь с, например, 'вставленный' может содержать 4 строки, из которых 2 имеют значение« Balance.In_Months% 12 = 0' и 2 из которых нет. Однако вы не сказали нам, какова общая цель этого триггера, поэтому я не могу предложить какой-либо конкретный код на данный момент. –
чего вы пытаетесь достичь? Есть ли столбец количества, который должен быть установлен равным 3, когда In_Month равен 12,24,36? –