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

SQL Server FETCH 命令完整指南:七大提取方向、INTO 變數綁定與 @@FETCH_STATUS 狀態檢測

     編輯:關於SqlServer

游標成功開啟後,可透過 FETCH 命令逐行讀取資料進行處理。語法規則:

FETCH 七大提取選項詳細說明

  • NEXT:返回結果集當前行的下一行,當前行數增為返回行號。若為首次讀取,返回第一行而非第二行
  • PRIOR:返回當前行的前一行,當前行數減為返回行號。首次讀取時無資料返回,游標位置設為第一行
  • FIRST:返回游標第一行
  • LAST:返回游標最後一行
  • ABSOLUTE {n | @nvar}:
    • 正數:返回第 n 行
    • 負數:從最後一行倒數第 n 行
    • 超出範圍時 @@FETCH_STATUS 返回 -1;負數時執行 FETCH NEXT 得第一行,正數時執行 FETCH PRIOR 得最後一行
    • n/@nvar 可為固定值或 smallint/tinyint/int 變數
  • RELATIVE {n | @nvar}:
    • 正數:從當前位置向後第 n 行
    • 負數:從當前位置向前第 n 行
    • 超出範圍處理同 ABSOLUTE
  • INTO @variable_name[,...n]:將讀取資料存入多個變數,每個變數對應游標結果集相應欄位,資料類型必須匹配

@@FETCH_STATUS 全域變數:三種返回值對照

每次 FETCH 讀取後必須檢查此變數,確認上次操作成功以決定後續處理邏輯。

關鍵限制:SCROLL 選項控制提取靈活度

使用 SQL-92 語法宣告游標時,未選擇 SCROLL 選項僅能使用 FETCH NEXT,只能從第一行按順序逐行讀取,無法使用 FIRST、LAST、PRIOR 回滾讀取。選擇 SCROLL 後方可使用所有提取操作。

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