如何使用SELECT和CASE设置多个变量

时间:2012-05-17 20:41:06

标签: sql database sql-server-2005 stored-procedures

当传递的参数是某个值时,我试图在我的存储过程中设置变量:

ALTER PROCEDURE [dbo].[Procedure1]
(
    @ID int,
    @WatchType varchar(100)
)
AS
    SET NOCOUNT ON
    DECLARE @stock int
    DECLARE @price float
    DECLARE @details varchar(max)

CASE @WatchType
WHEN 'TIMEX' THEN
    (SELECT @stock= Stock, 
    @price= Price, 
    @details= Details, 
    FROM tblWatches WHERE Uid= @ID)
ELSE
END

我尝试解析时遇到错误。有谁知道为什么?

1 个答案:

答案 0 :(得分:0)

ALTER PROCEDURE [dbo].[Procedure1]
(
    @ID int,
    @WatchType varchar(100)
)
AS
    SET NOCOUNT ON
    DECLARE @stock int
    DECLARE @price float
    DECLARE @details varchar(max)

IF @WatchType = 'TIMEX'
BEGIN
    (SELECT @stock= Stock, 
    @price= Price, 
    @details= Details, 
    FROM tblWatches WHERE Uid = @ID)
END