我想从表中选择前1行,并在同一查询中更新该选定行的列。所以这是我正在使用的选择查询
SELECT TOP 1 PageId,
PageUrl,
CrawlDepth
FROM tblPages
WHERE MainSiteId = 1
AND UnExpectedCrawlError = 0
AND CrawlStatus = 0
AND CrawlingStarted = 0
现在此查询返回1行。我想要的是更新它以更新此行的CrawlingStarted
列并将其设置为1.因此,我将选择一行并同时更新其1列。
我该怎么做?
答案 0 :(得分:2)
您可以使用更新语句并使用OUTPUT子句。
UPDATE TOP (1) t
SET CrawlingStarted = 1
OUTPUT inserted.PageId, inserted.PageUrl, inserted.CrawlDepth
FROM tblPages t
WHERE MainSiteId = 1
AND UnExpectedCrawlError = 0
AND CrawlStatus = 0
AND CrawlingStarted = 0