首頁
編程語言
C語言|JAVA編程
Python編程
網頁編程
ASP編程|PHP編程
JSP編程
數據庫
MYSQL數據庫|SqlServer數據庫
Oracle數據庫|DB2數據庫
您现在的位置: 程式碼之家 >> 數據庫知識 >  >> SQL Server 資料庫 >> 關於SqlServer

T-SQL 進階:快速理解游標生命週期與為何它是「邪惡」的

     編輯:關於SqlServer

游標為何邪惡

  • 打破集合導向思維,強迫逐列處理(圖 1-2)。

    集合導向

    游標逐列

  • 效能代價:佔用更多記憶體、降低並發、鎖定資源、增加網路傳輸、代碼量大(圖 3)。

    ATM 比喻

    圖 3. 一次提 1000 元 vs 十次提 100 元

仍需學習游標的兩大理由

  1. 存量系統含游標,維護必須看懂。
  2. 窮盡集合方案(WHILE、CTE、暫存表、函數)仍無法解決時的最後手段。

T-SQL 游標五階段生命週期

  1. `DECLARE CURSOR` 宣告。
  2. `OPEN` 開啟並建立結果集。
  3. `FETCH NEXT` 逐列取值至變數。
  4. 處理邏輯。
  5. `CLOSE` 關閉、`DEALLOCATE` 釋放資源。

詳細語法與範例後續補充。

  1. 上一篇文章:
  2. 下一篇文章:
Copyright © 程式碼之家 All Rights Reserved