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 把游標指向的資料取出來...