日韩性视频-久久久蜜桃-www中文字幕-在线中文字幕av-亚洲欧美一区二区三区四区-撸久久-香蕉视频一区-久久无码精品丰满人妻-国产高潮av-激情福利社-日韩av网址大全-国产精品久久999-日本五十路在线-性欧美在线-久久99精品波多结衣一区-男女午夜免费视频-黑人极品ⅴideos精品欧美棵-人人妻人人澡人人爽精品欧美一区-日韩一区在线看-欧美a级在线免费观看

歡迎訪問 生活随笔!

生活随笔

當前位置: 首頁 > 编程资源 > 编程问答 >内容正文

编程问答

T-sql 游标

發布時間:2025/3/15 编程问答 24 豆豆
生活随笔 收集整理的這篇文章主要介紹了 T-sql 游标 小編覺得挺不錯的,現在分享給大家,幫大家做個參考.

游標簡介:
????
Sql游標提供了一種循環結果集的機制,它對數據集中的數據進行逐行讀取,可以實現不易用select語句語法輕易地表達復雜計算。
???? 通過
sql語言從數據庫中檢索數據口,然后把結果放到內存的一塊區域中.往往這個結果講包含多條數據,這也是游標產生了一個不可避免的弊端對系統資源占用相對較大。

游標的使用過程:

1.聲明游標

2.打開游標

3.從游標中重復(讀取)行,有選擇的修改或者刪除

4.關閉游標

5.當不再需要游標時,釋放游標

?

聲明一個游標

?DECLARE 游標名 [ INSENSITIVE ] [ SCROLL ] CURSOR
FOR sql-statement

例:Declare Mycursor

?? For select * from tb_name

打開游標

OPEN?MyCursor

游標的操作

?FETCH
?? ?? ????? [ NEXT | PRIOR | FIRST | LAST]
FROM
{ 游標名 | @游標變量名 } [ INTO @變量名 […] ]

一.?? 可滾動游標

?Next?????? 當前行的下一行

?Prior?????? 當前行的前一行

?First?????? 第一行

?Last??????? 最后一行

?Absolute n?? n>0,定位到從開始的第n

?????????????????? n=0 沒有返回行

??????????????????? n<0 定位到末尾前的第n行

?Relative n?? n<-1 定位到當前行之前的第n行

????????????????? n=-1 通Prior關鍵字相同

????? ??????????? n=0 定位到當前行 [重讀]
????????????????? n=1 同Next關鍵字相同

???????????????? N>1定位到當前行之后的第n行

?

Code

---聲明游標
DECLARE?@MyVariable?CURSOR
DECLARE?@LastName?varchar(50),?@FirstName?varchar(50)
select?@LastName,@FirstName
DECLARE?MyCursor?CURSOR?FOR
SELECT?top?10?keyid,keyname?FROM?test1
open?MyCursor?
while?@@Fetch_status=0
begin
FETCH???next???FROM???MyCursor?INTO?@LastName,?@FirstName
select?@LastName,@FirstName
end
close?mycursor
deallocate?mycursor


--刪除語句
declare?test??cursor?for
select?top?10?ID?from?test1?order?by?ID??asc
declare?@ID?nvarchar(10)
open?test
fetch?next?from?test?into?@ID
while?@@fetch_status=0
begin
????
delete?from??test1????where?ID=@ID
????
fetch?next?from?test?into?@ID
end
close?test
deallocate?test
--更新UPDATE語句
declare?test??cursor?for
select?top?50?ID?from?test1?order?by?ID?
declare?@ID?nvarchar(10),@ID2?int
open?test
set?@ID2=0
fetch?next?from?test?into?@ID
while?@@fetch_status=0
begin
SET?@ID2?=?@ID2?+?1
????
update?test1
????
set?keyname=Cast(@ID2?as?nvarchar(10))
????
where?ID=@ID
????
fetch?next?from?test?into?@ID
end
close?test
deallocate?test
go

每執行一個FETCH操作之后,通常都要查看一下全局變量@@FETCH_STATUS中的狀態值,以此判斷FETCH操作是否成功。該變量有三種狀態值:
· 0 表示成功執行FETCH語句。
· -1 表示FETCH語句失敗,例如移動行指針使其超出了結果集。
· -2 表示被提取的行不存在。
由于@@FETCH_STATU是全局變量,在一個連接上的所有游標都可能影響該變量的值。因此,在執行一條FETCH語句后,必須在對另一游標執行另一FETCH 語句之前測試該變量的值才能作出正確的判斷。


?

?

?

Code
 ??USE?master
????
GO
  
CREATE?PROCEDURE?sp_BuildIndexes
  
AS
  
DECLARE?@TableName?sysname,?@msg?varchar(100),?@cmd?varchar(100)
  
DECLARE?table_cur?CURSOR?FOR
  
SELECT?name?FROM?sysobjects?WHERE?type=’u’
  
OPEN?table_cur
  
FETCH?NEXT?FROM?table_cur?INTO?@TableName
  
WHILE?@@fetch_status?=?0
  
BEGIN
  
IF?@@fetch_status?=?-2
  
CONTINUE
  
SELECT?@msg?=?“Building?indexes?for?table+@TableName+”…”
  
PRINT?@msg
  
SELECT?@cmd?=?“DBCC?DBREINDEX?(‘”+@TableName+')”
  EXEC?(@cmd)
  PRINT?“?“
  FETCH?NEXT?FROM?table_cur?INTO?@TableName
  END
  DEALLOCATE?table_cur
  GO
  下面的腳本將為PUBS數據庫執行sp_BuildIndexes

  USE?pubs
  GO
  EXEC?ap_BuildIndexes
Code
use?pubs
go
declare?@int?int
declare?mycursor?scroll?cursor
for?select??job_id??from?jobs
open?mycursor

Fetch?Next?From?mycursor??into?@int?--之前缺少這句?,
--
-@@Fetch_status?所得到的數值總是-1
while?@@Fetch_status?=?0
begin
print?@int
?
FETCH?Next?FROM?mycursor?into?@int?

end
close?mycursor
deallocate?mycursor

轉載于:https://www.cnblogs.com/rhythmK/archive/2009/08/10/1542754.html

總結

以上是生活随笔為你收集整理的T-sql 游标的全部內容,希望文章能夠幫你解決所遇到的問題。

如果覺得生活随笔網站內容還不錯,歡迎將生活随笔推薦給好友。

主站蜘蛛池模板: 国产一极毛片 | 成人精品在线看 | av一道本 | 欧美bbbbbbbbbbbb精品 | 最近国语视频在线观看免费播放 | 9久9久9久女女女九九九一九 | 精品欧美一区二区精品久久 | 加勒比hezyo黑人专区 | 精品一区二区三区在线观看 | 女人做爰全过程免费观看美女 | 成人精品影院 | 黄色片日韩 | 毛片哪里看 | 久久香蕉网站 | 99精品福利视频 | h成人在线 | 开心激情久久 | 欧美激情精品久久久久久变态 | www一区 | 亚色图| 男女操网站| 国产激情一区二区三区在线观看 | 日韩伦理大全 | 久久6精品| 强睡邻居人妻中文字幕 | 日批在线 | 人人爽久久涩噜噜噜网站 | 日本精品免费视频 | 欧洲精品一区二区三区久久 | 天天舔天天爱 | 香蕉人妻av久久久久天天 | 欧美一区二区三区黄色 | 538精品在线视频 | 麻豆91视频 | 少妇精品久久久久久久久久 | 夜夜干天天操 | 亚洲天堂av片| 亚洲精品国产美女 | 传媒av在线| 亚洲国产精品网站 | 四虎黄色 | 久久精品国产欧美亚洲人人爽 | 爱爱视频一区二区 | av猫咪| 国产性猛交╳xxx乱大交 | 日韩一区在线观看视频 | 精品久久久久久无码中文野结衣 | 在线午夜视频 | 四虎影视免费在线观看 | 亚洲综合色自拍一区 | 1000部啪啪 | 九九视频在线免费观看 | 免费看a网站 | 亚洲一区二区免费看 | freesex性hd公交车上 | av网址导航| 91桃色视频在线观看 | 国产成人自拍在线 | 国产精品欧美激情在线 | 日本久久久久久久久久久 | 国产精品三区在线观看 | 国产成人黄色 | 国产精品久久久久久久久久 | 久久99久久99精品免观看粉嫩 | 91亚洲网 | 妹子干综合| 黄色录像毛片 | 影音先锋在线视频 | 欧美三级小说 | 草碰在线视频 | 国产精品久久久久久久久免费看 | 天堂va蜜桃一区二区三区漫画版 | 国产成人亚洲精品无码h在线 | 福利视频在线导航 | 美女诱惑av| 欧美日本韩国一区二区三区 | 美女被男人桶出白浆喷水 | 欧美国产日本 | 伊人中文在线 | 桃谷绘里香在线观看 | 国产精品300页 | 精品人妻天天爽夜夜爽视频 | 欧美黄色短片 | 三级大片在线观看 | 深夜精品视频 | 色网在线免费观看 | 天堂中文在线8 | 男女插插视频 | 色射视频 | 豆花视频成人 | 欧美乱大交xxxxx春色视频 | 一级黄色录像大片 | 老师的肉丝玉足夹茎 | 成人欧美在线视频 | 国产一区二区在线视频观看 | 一级黄色欧美 | 国产老女人精品毛片久久 | 中文字幕精品一区久久久久 | 欧美成人三区 |