2013-01-11 64 views
0

我有一個MS SQL存儲過程(SP):更新列後選擇

SELECT * 
FROM tblA 
WHERE stateID = 1 
ORDER BY DateTime DESC 

還是一樣的SP中,我怎麼更新每一行的SELECT語句返回STATEID列? SP仍然返回SELECT語句中的行。

謝謝!

+1

我不明白你在問什麼。 'UPDATE tblA SET something = something WHERE stateID = 1'? – Kermit

+0

假設SELECT返回5行,並且對於每一行,我想將其狀態ID更新爲2. – Eddie

+0

如果您實際上想要更新行,爲什麼需要'SELECT'? –

回答

1

如果有返回,你能做到這一點的結果中的唯一標識符。

UPDATE tblA SET stateID = 2 WHERE download_id in (select download_id from FROM tblA 
WHERE stateID = 1 
ORDER BY DateTime DESC) 
1

你可以做到這樣的,因爲這將返回相同的行

update tblA 
set col = value 
WHERE stateID = 1