这是我的一个存储过程,作用在两个不同的数据库中,第一个数据库正常执行,但在第二个数据库中执行的时候通常要好几分钟才能执行完毕,请学长们帮我看看谢谢!
DECLARE @count int
DECLARE @NO    varchar(10)
DECLARE @NAME VARCHAR(30)
DECLARE @PRICE MONEY
DECLARE @SALE_PRICE MONEY
DECLARE @STOCK_QTY_SUM INT
DECLARE @SALE_QNTY INT
DECLARE @OPER_DATE DATETIME
DECLARE CURSOR1 CURSOR FOR select DISTINCT pos_t_saleflow.item_no  from pos_t_saleflow  where  DATEDIFF(day, pos_t_saleflow.oper_date,GETDATE()) < 7 --查询7天之内销售商品流水
OPEN cursor1
FETCH NEXT FROM cursor1 into @no while @@fetch_status = 0
begin
select @STOCK_QTY_SUM=sum(stock_qty) from wh_stock where item_no = @no --根据条码查找库存数量
select @SALE_QNTY=sum(sale_qty),@OPER_DATE=oper_date from pos_t_saleflow where item_no = @no AND DATEDIFF(day, pos_t_saleflow.oper_date,GETDATE()) < 7 GROUP BY OPER_DATE--7天之内销售商品的总数
select @NAME=item_name,@PRICE=in_price,@SALE_PRICE=sale_price from  item where item_no = @no--根据条码查找商品的名称、进货价、零售价
insert into item_sale_status(item_no,item_name,item_stock_qty,item_sale_qnty,item_info_price,item_sale_price/*,item_oper_date*/) 
values (@no,@NAME,@STOCK_QTY_SUM,@SALE_QNTY,@PRICE,@SALE_PRICE/*,@OPER_DATE*/)--将查找到得结果一条一条添加到item_sale_status表中
FETCH NEXT FROM cursor1 into @no

end
close cursor1                    --关闭游标
deallocate cursor1