我在使用select语句在CASE语句中设置返回值时遇到问题......有人可以请看看吗?SQL案例 - 使用SELECT
DECLARE @SystemTypeId int
SELECT @SystemTypeId = [SystemTypeId] FROM [Properties] WHERE [Id] = @PropertyId
SET @RETURN_VAL =
CASE @SystemTypeId
WHEN 2 THEN (SELECT [Created] FROM [Assets] WHERE [Id] = @AssetId)
WHEN 3 THEN (SELECT dbo.GetAssetValueById([CreatedBy])
FROM [Assets]
WHERE [Id] = @AssetId)
WHEN 9 THEN (SELECT [LastModified]
FROM [Assets]
WHERE [Id] = @AssetId)
ELSE NULL
END
第一步将宣布**'@ AssetID' ** – JNK
@AssetId已经进一步声明了上面。 –
似乎不管@SystemTypeId是什么,情况2总是被选中。 –