由於這個游標 執行一下就相當於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...