首页 > 代码库 > sqlserver 脚本 多条记录遍历
sqlserver 脚本 多条记录遍历
临时表方式实现多条记录遍历
declare @oper_cart_item_id bigint; declare @oper_cart_id bigint; declare @the_last_changed_date datetime; declare @oper_cust_id int; select * , 0 as flag into #shoppingcart_temp from deleted; while exists (select top 1 1 from #shoppingcart_temp t where t.flag = 0 ) begin select top 1 @oper_cart_item_id = cart_item_id,@oper_cart_id = cart_id, @oper_cust_id = cust_id,@the_last_changed_date = last_changed_date from #shoppingcart_temp where flag = 0 ; if @oper_cart_item_id is not null and @oper_cart_item_id <> 0 and left(@oper_cart_id,1) = ‘8‘ begin exec proc_sqlser_insertqueue @oper_cart_id,@oper_cart_item_id, @the_last_changed_date, @oper_cust_id, ‘3‘; end update #shoppingcart_temp set flag = 1 where cart_item_id = @oper_cart_item_id end
游标方式实现多条记录遍历
declare @oper_cart_item_id bigint; declare @oper_cart_id bigint; declare @the_last_changed_date datetime; declare @oper_cust_id int; declare shoppingcart_cursor cursor for select cart_item_id,cart_id,cust_id,last_changed_date from deleted; open shoppingcart_cursor fetch next from shoppingcart_cursor into @oper_cart_item_id,@oper_cart_id, @oper_cust_id,@the_last_changed_date while (@@fetch_status=0) begin if @oper_cart_item_id is not null and @oper_cart_item_id <> 0 and left(@oper_cart_id,1) = ‘8‘ begin exec proc_sqlser_insertqueue @oper_cart_id,@oper_cart_item_id, @the_last_changed_date, @oper_cust_id, ‘3‘; end fetch next from shoppingcart_cursor into @oper_cart_item_id,@oper_cart_id, @oper_cust_id,@the_last_changed_date end close shoppingcart_cursor DEALLOCATE shoppingcart_cursor
声明:以上内容来自用户投稿及互联网公开渠道收集整理发布,本网站不拥有所有权,未作人工编辑处理,也不承担相关法律责任,若内容有误或涉及侵权可进行投诉: 投诉/举报 工作人员会在5个工作日内联系你,一经查实,本站将立刻删除涉嫌侵权内容。