Получение значения из одной таблицы и запрос другого с этим значением

#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. Идеально именно то, что мне было нужно!