從SQL Server 2008 表中刪除前1000 行
在SQL Server 2008 中,您可以有效率地從SQL Server 2008 表中清除前1000 筆記錄。表使用公共表表達式 (CTE) 和後續刪除語句的組合。它的工作原理如下:
原始有問題的查詢:
您最初嘗試的程式碼會刪除表中的所有行,因為它由兩個單獨的語句組成:刪除後面接著一個選擇。 select 語句未指定排序標準,導致刪除所有行。
使用 CTE 修正程式碼:
為了解決此問題,我們使用名為「CTE」依照「a1」欄位依升序選擇前 1000 行。然後,後續的刪除語句以CTE 為目標,確保僅刪除那些特定的記錄:
;WITH CTE AS ( SELECT TOP 1000 * FROM [mytab] ORDER BY a1 ) DELETE FROM CTE
透過使用此方法,您可以有效地從表中刪除所需數量的行,而不影響其餘記錄。
以上是如何有效率地刪除 SQL Server 2008 表中的前 1000 行?的詳細內容。更多資訊請關注PHP中文網其他相關文章!