欢迎加入技术交流QQ群80669150 (附加信息:珠海 -"Lzw )一起学习 !
CREATE PROC PROC_SaveGgInitOrder
@Gg_id int,
@Init_fir_sec int
AS
--使用游标更新orderid
--first
DECLARE @maxOrderid int,@Log_id int --记录当前指向的Log_id
--创建游标Create Cursor(Cursor for select Log_id from Table)
DECLARE Cursor_Order Cursor FOR
--获取需要处理的集合 Log_id
SELECT Log_id FROM tbl_gg_table_init WHERE Gg_id=@Gg_id AND Init_fir_sec=@Init_fir_sec
--打开游标
OPEN Cursor_Order
--游标下移
FETCH next FROM Cursor_Order
INTO @Log_id
WHILE @@fetch_status=0 --状态为0说明,未结束,继续执行游标
BEGIN
SELECT @maxOrderid=isnull(max(orderid),0)+1 FROM tbl_gg_table_init WHERE Gg_id=@Gg_id AND Init_fir_sec=@Init_fir_sec AND orderid IS NOT NULL
UPDATE tbl_gg_table_init SET orderid = @maxOrderid WHERE Log_id=@Log_id
//游标下移
FETCH next FROM Cursor_Order
INTO @Log_id
END
CLOSE Cursor_Order
--关闭游标
DEALLOCATE Cursor_Order