資料庫作業17 SQL練習9 CURSOR

2021-10-05 08:53:20 字數 1323 閱讀 4566

if

(exists

(select

*from sys.objects where name =

'proc_cursor'))

drop

procedure proc_cursor --如果存在,就刪除過程

gocreate

procedure proc_cursor -- 儲存過程

asdeclare

@sno

char(9

)--定義變數

declare

@sname

char(20

)--定義變數

declare mycursor cursor

forselect sno,sname from student --宣告游標

open mycursor --開啟游標

fetch

next

from mycursor into

@sno

,@sname

--讀取一條游標資料

while

(@@fetch_status=0

)--遍歷所有的資料

begin

print

'游標成功取出一條資料:'

print

@sno

print

@sname

print

'********************'

--輸出

fetch

next

from mycursor into

@sno

,@sname

--取下一條游標資料

endclose mycursor --關閉游標

deallocate mycursor --刪除游標go

exec proc_cursor --執行過程

跟下邊語句得出來的結果一樣

課本上有個例子是標準sql的,跟t-sql也差不多。我把主要語句摘下來了。

資料庫作業17 SQL練習9 CURSOR

if exists select from sys.objects where name proc cursor drop procedure proc cursor gocreate procedure proc cursor 建立儲存過程 procedure 名為proc cursor as d...

資料庫作業17 SQL練習9 CURSOR

為何使用游標 使用游標 cursor 的乙個主要的原因就是把集合操作轉換成單個記錄處理方式。用 sql 語言從資料庫中檢索資料後,結果放在記憶體的一塊區域中,且結果往往是乙個含有多個記錄的集合。游標機制允許使用者在 sql server 內逐行地訪問這些記錄,按照使用者自己的意願來顯示和處理這些記錄...

資料庫作業17 SQL練習9 CURSOR

將sql嵌入到高階語言中混合程式設計,程式中會含有兩種不同計算模型的語句 1 sql語句 描述性的面向集合的語句,負責操縱資料庫 2 高階語言語句 c語言 過程性的面向記錄的語句,負責控制邏輯流程 c 中可以使用datatable讀取記錄,進一步逐條讀取記錄 什麼是游標?游標是系統為使用者開設的資料...