Ran*_*ton 0 sql t-sql stored-procedures case
我在使用select语句在CASE语句中设置返回值时遇到问题...有人可以看看吗?
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
Run Code Online (Sandbox Code Playgroud)
试试这个:
SELECT @RETURN_VAL =
CASE @SystemTypeId
WHEN 2 THEN [Created]
WHEN 3 THEN dbo.GetAssetValueById([CreatedBy])
WHEN 9 THEN [LastModified]
ELSE NULL
END
FROM [Assets]
WHERE [Id] = @AssetId
Run Code Online (Sandbox Code Playgroud)