У меня есть две таблицы, property
и component
. component.id_property = property.id
.SQL-процедура - изменение значения столбца таблицы на основе подсчета по другой таблице
Я пытаюсь создать процедуру, которая подсчитывает компоненты на выбранной недвижимости и, если нет компонентов для выбранного свойства, то изменение property.id_state
к 1.
create PROCEDURE property_statement_change AS
BEGIN
declare @value int;
select
@value = count(c.value)
from
component c
where
c.id_property = 1
group by c.id_property
IF (@value = 0)
UPDATE property
SET id_state = 1
WHERE property.id = 1
END
Если я выполнить хранимую produre, это Безразлично «ничего не меняйте, но выберите и также правильно обновите. Что я делаю неправильно?
То, что вы выглядит правильно. Он будет обновлять свойство (id_state до 1), если счетчик равен 0. Перед вашим IF попробуйте SELECT @Value и посмотрите, 0 –
Вы уверены, что @value = 0? –
Ага, я идиот, '@value is null' :-) – gaffcz