3
如果使用select語句:是選擇Top(n)還是Delete Top(n)是否相同?
select top (18) * from pippo;
我使用DELETE語句:
delete top (18) from pippo;
我想知道,如果18個選擇和刪除行是相同的。
任何幫助?
編輯之後已經接受了答案:
我已經找到了以下解決方案在這裏:Delete the 'first' record from a table in SQL Server, without a WHERE condition
WITH q AS
(
SELECT TOP 18 *
FROM pippo
ORDER BY FIELD1 ASC /* You may want to add ORDER BY here */
)
DELETE
FROM q
有了這個解決方案我有點所有FIELD1的「皮波」表,然後我刪除前18行。
即使你有一個'ORDER BY'子句,你需要確保它定義了所有行的完整排序,否則它仍然會被定義得很差(例如,如果有50行,其中a ='abc',然後'前18 ... ...按順序'可能會選擇不同的18每次) –