首页 > 数据库技术 > 详细

sqlserver在函数中使用临时表

时间:2015-06-30 18:10:30      阅读:426      评论:0      收藏:0      [点我收藏+]

-- 根据大订单号查询已付供应商金额(已付-已退)
ALTER FUNCTION [dbo].[F__SupplierPayOffAmountBOrder]
(
 -- Add the parameters for the function here
  @BOrderId int 
)
RETURNS decimal
AS
BEGIN
 declare @payOffAmount decimal
 set @payOffAmount=0
 
 declare @SorderIdTemp table(ID int) --定义临时表
 
 insert INTO @SorderIdTemp(ID)
 select ID 
 from TongYe..Borders_Orders_s
 where ParentID=@BOrderId and IsValid=1 and OrderStatus<>17
 
 while exists (select ID from @SorderIdTemp)
 BEGIN
  DECLARE @sid int
  select TOP 1 @sid=ID from @SorderIdTemp
   
  set @payOffAmount = @payOffAmount + ISNULL(dbo.F__SupplierPayOffAmount(@sid),0)
  
  delete from @SorderIdTemp where ID=@sid
  
 END
 
 return Isnull( @payOffAmount,0)
END

sqlserver在函数中使用临时表

原文:http://www.cnblogs.com/rana4504/p/4611032.html

(0)
(0)
   
举报
评论 一句话评论(0
关于我们 - 联系我们 - 留言反馈 - 联系我们:wmxa8@hotmail.com
© 2014 bubuko.com 版权所有
打开技术之扣,分享程序人生!