#sql #sql-server-2005 #tsql #stored-procedures
#sql #sql-server-2005 #tsql #хранимые процедуры
Вопрос:
У меня есть следующие таблицы:
TableA
---------------
ParamA ¦ ParamB
---------------
695 ¦ Test
TableB
---------------
ParamA ¦ ParamC
---------------
695 ¦ Test2
Итак, я пытаюсь создать хранимую процедуру, которая будет SELECT ParamA FROM TableA WHERE ParamB = @ParamB
и UPDATE ParamC = 'NULL'
в TableB WHERE ParamA = ParamA FROM TableA
Что у меня пока есть, так это:
UPDATE ClassDetails
SET ValidTo = 'NULL'
WHERE Class = Classes.ClassId AND Classes.ClassName = @ClassName;
Я знаю, что вышесказанное неверно, но это моя логика относительно этого…
Есть идеи?
Ответ №1:
Довольно сложно следовать вашим рассуждениям, но если я правильно вас понял, следующее обновление будет соответствовать вашим потребностям.
UPDATE b
SET ParamC = NULL
FROM TableB b
INNER JOIN TableA a ON a.ParamA = b.ParamA
WHERE a.ParamB = @ParamB
Синтаксис для ОБНОВЛЕНИЯ ИЗ
ИЗ < table_source >
Указывает, что таблица используется для предоставления критериев для операции обновления.
Комментарии:
1. Идеально именно то, что мне было нужно!