--游標例項 利用游標迴圈表 根據userid賦值
alter procedure cursor_eg1
asbegin
declare @a int,@error int
declare @temp varchar(50)--臨時變數,用來儲存游標值
set @a=1 set @error=0
begin tran --申明事務
--申明游標 為userid
declare order_cursor cursor for select userid from usertable
--開啟游標
open order_cursor
while @@fetch_status = 0 --返回被 fetch 語句執行的最後游標的狀態,而不是任何當前被連線開啟的游標的狀態。
begin
--開始迴圈游標變數
fetch next from order_cursor into @temp
--執行sql操作
update usertable set userpwd=username ,chinesename=@a where userid=@temp
set @a=@a+1
set @error=@error+@@error --記錄每次執行sql後 是否正確 0正確
endif @error=0--沒有錯誤 統一提交事務
begin
commit tran--提交
endelse
begin
rollback tran--回滾
endclose order_cursor--關閉游標
deallocate order_cursor--釋放游標
end
儲存過程,游標,迴圈,臨時表
create procedure hr attabn qry2 d date nvarchar 10 null,deptno nvarchar 1000 null as begin declare sql nvarchar 1000 建立臨時表 create table mytemptable de...
SQL 儲存過程,游標
if exists select from sysobjects where id object id proc fetch all 事先刪除儲存過程 drop procedure proc fetch all gocreate procedure proc fetch all as 當 set n...
儲存過程 游標巢狀迴圈
alterprocedure dbo asdeclare startnum nvarchar 255 declare endnum nvarchar 255 declare insurancetype nvarchar 255 declare company id nvarchar 255 decl...