sql2000中如何调用带返回值的存储过程?(百试不得其解)

来源:百度知道 编辑:UC知道 时间:2024/05/15 09:38:14
存储过程如何:

CREATE Procedure CalculateShoppingCartTotalCost
(
@UserID int,
@TotalCost money OUTPUT
)
AS

SELECT
@TotalCost = SUM(Books.SalePrice * ShoppingCarts.BookQuantity)

FROM
ShoppingCarts,
Books

WHERE
ShoppingCarts.UserID = @UserID
AND
Books.BookID = ShoppingCarts.BookID

现在的用户ID为48
我这样写着:
exec CalculateShoppingCartTotalCost 48 ,@Count money 8 output
就是报错:必须声明变量 '@Count'。

如果你需要使用返回值,那么在执行存储过程之前声明一个变量用来接收变量的值
declare @m money
exec CalculateShoppingCartTotalCost 48,@m output
select @m
上边的语句select @m的意思是把输出的参数显示出来,实际怎么用这个变量的值看实际情况了。
如果你不需要这个返回值,那就随便给变量赋一个值就可以了,注意类型要与过程的参数类型相同,比如
exec CalculateShoppingCartTotalCost 48,8