Sql Server 游標的建立

2021-10-25 06:18:02 字數 1120 閱讀 2624

sql server 游標建立

use

[test]

--記得改資料庫

go/****** 不會寫**的程式猿 ******/

set ansi_nulls on

goset quoted_identifier on

gocreate

procedure

[dbo]

.[pro_add_tests]

--記得改名稱

asbeginif(

exists

(select

1from t_test as pro where state=1)

)--判斷操作表資料是否存在,記得改表

begin

--宣告變數

declare

@test_lsh

varchar(20

)declare

@test_name

varchar(20

)declare onerd cursor

--宣告動態游標

forselect test_lsh test_name from t_test where state=

1--游標遍歷符合條件的資料

open onerd --開啟游標

fetch

next

from onerd into

@test_lsh

,@test_name

--從游標中讀取值賦值到變數

while @@fetch_status=0

--判斷fetch是否執行成功

begin

insert

into t_test2(lsh, name)

values

(@test_lsh

,@test_name

)--執行需要的sql

fetch

next

from onerd into

@test_lsh

,@test_name

endclose onerd--關閉游標

deallocate onerd--釋放游標

endend

go

SQL Server游標的使用

declare cursor name cursor local global forward only scroll static keyset dynamic fast forward read only scroll locks optimistic type warning for sele...

SQL Server游標的使用

由於sql server中沒有提供直接遍歷表的每一行的方法,所以只有通過游標和while迴圈來代替。當讓也可以不適用游標,僅僅使用while迴圈也能遍歷表 當id為int,主鍵時可用這種方式 但兩種方式我沒有做過實際的對比測試,效率誰高誰低我也不好說。我只給乙個游標使用的簡單示例,想深入了解和使用游...

SQL SERVER 游標的使用

定義游標,讓游標指向sql查詢的結果 declare democursor cursor for select name,id from userinfo 開啟游標。open democursor declare name nvarchar 32 declare id int 把游標指向的資料取出來...