SQL Cursor 基本用法

2021-06-27 17:08:50 字數 1502 閱讀 4546

由於這個游標 執行一下就相當於select一下 其效率不敢恭維也沒做深入研究。

table1結構如下

id    int

name  varchar(50)

declare @id int

declare @name varchar(50)

declare cursor1 cursor for         --定義游標cursor1

select * from table1               --使用游標的物件(跟據需要填入select文)

open cursor1                       --開啟游標

fetch next from cursor1 into @id,@name  --將游標向下移1行,獲取的資料放入之前定義的變數@id,@name中

while @@fetch_status=0           --判斷是否成功獲取資料

begin

update table1 set name=name+'1'

where id=@id                           --進行相應處理(跟據需要填入sql文)

fetch next from cursor1 into @id,@name  --將游標向下移1行

endclose cursor1                   --關閉游標

deallocate cursor1

游標一般格式:

declare 

游標名稱

cursor for  select

欄位1,

欄位2,

欄位3,... from

表名where ...

open 

游標名稱

fetch next from

游標名稱

into

變數名1,

變數名2,

變數名3,...

while  @@fetch_status=0

begin

sql語句執行過程

...  ...

fetch next from

游標名稱

into 

變數名1,

變數名2,

變數名3,...

endclose 

游標名稱

deallocate

游標名稱 (刪除游標)

else

--插入新資料

insert into #temp2 select @deptid,@username

fetch next from select_cursor into @deptid,@username

endclose select_cursor     

deallocate select_cursor

select * from #temp2 --測試結果

drop table #temp1,#temp2

SQL Cursor 基本用法

由於這個游標 執行一下就相當於select一下 其效率不敢恭維也沒做深入研究。table1結構如下 2 id int3 name varchar 50 4 5 declare idint 6 declare name varchar 50 7 declare cursor1 cursor for 定...

SQL Cursor 基本用法

code highlighting produced by actipro codehighlighter freeware 1 table1結構如下 id int name varchar 50 declare idint declare name varchar 50 declare curso...

SQL Cursor 基本用法

由於這個游標 執行一下就相當於select一下 其效率不敢恭維也沒做深入研究。1table1結構如下 2id int3 name varchar 50 45declare idint 6declare name varchar 50 7declare cursor1 cursor for 定義游標c...