Справка по значению SQL Server - PullRequest
1 голос
/ 08 сентября 2010

Привет всем, есть ли какой-нибудь гуру SQL Server 2005, который может подсказать тип уловки, чтобы получить значения запрашиваемого?

Пример:

 UPDATE l SET Inactive = 1 
 FROM tbl1 e JOIN tbl2 l ON l.CID = e.CID
     JOIN tbl3 p ON p.PID = e.PID
     JOIN tbl4 c ON c.PID = e.PID
     LEFT JOIN tbl5 g ON g.EID = e.ID 
         AND g.PID = e.PID
 WHERE e.PID = '315' 
 AND Inactive = 0 
 AND (e.Active = 0 OR g.ID IS NULL)

Как можноЯ получаю значения, скажем, e.CID после того, как это выполнится?Я уже пробовал

 Print e.CID

Но, конечно, это не работает.Есть ли другой способ сделать это?

Спасибо!

Дэвид

1 Ответ

3 голосов
/ 08 сентября 2010

Попробуйте предложение OUTPUT:

UPDATE l 
SET Inactive = 1 
OUTPUT e.CID
FROM tbl1 e 
  JOIN tbl2 l ON l.CID = e.CID
  JOIN tbl3 p ON p.PID = e.PID
  JOIN tbl4 c ON c.PID = e.PID
  LEFT JOIN tbl5 g ON g.EID = e.ID AND g.PID = e.PID
WHERE e.PID = '315' 
AND Inactive = 0 
AND (e.Active = 0 OR g.ID IS NULL)

В нем должен отображаться столбец e.CID для каждой строки, которая обновляется как набор результатов из вашего запроса UPDATE.

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