ALTER PROCEDURE dbo.FavoriteTotalCost
(
@UserID nvarchar(10),
@tblname nvarchar(50),
@TotalCost money OUTPUT
)
AS
declare @CoutCost1 money
declare @CoutCost2 money
declare @ss varchar(500)begin
set @ss = 'select '+Convert(varchar,@CoutCost1)+' = (select SUM(a.Price * b.GoodsQuantity) from '+@tblname+' b,tbl_TaoCanProduct a where b.UserID = '+@UserID+' and a.ID = b.GoodsID)'
exec(@ss)
endbegin
set @ss = 'select '+Convert(varchar,@CoutCost2)+' = (SELECT SUM(a.Price1 * b.GoodsQuantity) FROM '+@tblname+' b,tbl_product a WHERE b.UserID = '+@UserID+' and a.ID = b.GoodsID)'
exec(@ss)
endif(@CoutCost1 <> 0 and @CoutCost2 <> 0)
set @TotalCost = @CoutCost1 + @CoutCost2
else
if @CoutCost1 <> 0
set @TotalCost = @CoutCost1
else
if @CoutCost2 <> 0
set @TotalCost = @CoutCost2
(
@UserID nvarchar(10),
@tblname nvarchar(50),
@TotalCost money OUTPUT
)
AS
declare @CoutCost1 money
declare @CoutCost2 money
declare @ss varchar(500)begin
set @ss = 'select '+Convert(varchar,@CoutCost1)+' = (select SUM(a.Price * b.GoodsQuantity) from '+@tblname+' b,tbl_TaoCanProduct a where b.UserID = '+@UserID+' and a.ID = b.GoodsID)'
exec(@ss)
endbegin
set @ss = 'select '+Convert(varchar,@CoutCost2)+' = (SELECT SUM(a.Price1 * b.GoodsQuantity) FROM '+@tblname+' b,tbl_product a WHERE b.UserID = '+@UserID+' and a.ID = b.GoodsID)'
exec(@ss)
endif(@CoutCost1 <> 0 and @CoutCost2 <> 0)
set @TotalCost = @CoutCost1 + @CoutCost2
else
if @CoutCost1 <> 0
set @TotalCost = @CoutCost1
else
if @CoutCost2 <> 0
set @TotalCost = @CoutCost2
if(@CoutCost1 <> 0 and @CoutCost2 <> 0)
set @TotalCost = @CoutCost1 + @CoutCost2
else
begin
if @CoutCost1 <> 0
set @TotalCost = @CoutCost1
else
begin
if @CoutCost2 <> 0
set @TotalCost = @CoutCost2
end
end
(
@UserID nvarchar(10),
@tblname nvarchar(50),
@TotalCost money OUTPUT
)
AS
declare @CoutCost1 money
declare @CoutCost2 money
declare @sql nvarchar(200),@sql1 NVARCHAR(200)begin
set @sql=N'select @CoutCost1= SUM(a.Price * b.GoodsQuantity) from '+@tblname+' b,tbl_TaoCanProduct a where b.UserID = '+@UserID+' and a.ID = b.GoodsID '
exec sp_executesql @sql,N'@CoutCost1 money output',@CoutCost1 output
endbegin
set @sql1=N'select @CoutCost2=SUM(a.Price1 * b.GoodsQuantity) FROM '+@tblname+' b,tbl_product a WHERE b.UserID = '+@UserID+' and a.ID = b.GoodsID'
exec sp_executesql @sql1,N'@CoutCost2 money output',@CoutCost2 output
endif(@CoutCost1 <> 0 and @CoutCost2 <> 0)
set @TotalCost = @CoutCost1 + @CoutCost2
else
if @CoutCost1 <> 0
set @TotalCost = @CoutCost1
else
if @CoutCost2 <> 0
set @TotalCost = @CoutCost2