一般情況下游標的使用應遵循以下5個步驟:
1. 宣告游標
2. 開啟游標
3. 從游標讀取行,並有選擇地進行處理
4. 關閉游標
5. 釋放游標
use pubs
/*宣告變數*/
declare @title varchar(100),@price smallmobey
/*宣告游標*/
declare price——cursor for
select title,price
from titles
where price<15
/*開啟游標*/
open price cursor
/*獲取資料並進行處理*/
fetch from price_cursor
into @title,@price
while @@fetch_status=0
begin
print @title+' '+convert(char(6),@price)+'$'
fetch next from price_cursor
into @title,@price
end/*關閉游標*/
close price——cursor
/*釋放游標*/
deallocate price_cursor
go獲取資料並進行處理
fetch語句用於從結果幾集中獲取一行資料。
fetch from cursor_name
他表示獲取結果集中的當前行
fetch next from price_cursor
fetch prior from price_cursor
first和last分別表示獲取第一條和最後一條資料
如果想獲取資料存入變數,可以使用into選項。
fetch from price_cursor
into @title,@price
如果返回0,表示fetch語句成功,如果返回-1,表示fetch語句失敗,如果返回-2,表示被提取的行不存在。
例如游標使用方法:
use db1
declare my_cursor cursor scroll dynamic /*scroll表示可隨意移動游標指標(否則只能向前),dynamic表示可以讀寫游標(否則游標唯讀)*/
forselect 姓名 from 個人資料
open my_cursor
declare @name sysname
fetch next from my_cursor into @name
while(@@fetch_status=0)
begin
print '姓名: ' + @name
fetch next from my_cursor into @name
endfetch first from my_cursor into @name
print @name
/* update 個人資料 set 姓名='zzg' where current of my_cursor */
/* delete from 個人資料 where current of my_cursor */
close my_cursor
deallocate my_cursor
SQL 游標的使用
我們都知道在關聯式資料庫中,都是面向集合進行查詢的,而游標卻是化整為零,是按行查詢的,舉個例子比如說之前那個壕買了99臺蘋果6,他可以一次性就買了99臺,這正是我們平常使用sql的方式,他也可以分成若干次買,這就是游標的方式,一次只查詢一行。游標分為游標型別和游標變數,對於游標變數來說,游標變數支援...
SQL游標的使用
sql游標的使用 2008 09 29 13 57 一 游標包括兩個部分 1 游標結果集 由定義該游標的select語句返回的行的集合 2 游標位置 指向這個集合中某行的指標 二 游標處理過程 使用declare 語句宣告 使用open語句開啟 使用fecth語句從游標中提取資料 判斷是否為空,為空...
SQL游標的使用
table1結構如下 id int name varchar 50 declare id int declare name varchar 50 declare cursor1 cursor for 定義游標cursor1 select from table1 使用游標的物件 跟據需要填入selec...