2012-05-17 42 views
0

我想設置我的存儲過程變量時傳遞的參數有一定的價值這樣的設置複式變量:如何使用SELECT和CASE

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 

我不斷收到一個錯誤,當我嘗試解析它。有誰知道爲什麼?

回答

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 
+0

它說我有一個非法的語法附近然後選擇 – theNoobProgrammer

+0

刪除'THEN',更新。 – Magnus