Я бы хотел использовать параметр в моих хранимых процедурах mssql для переключения между маленьким и подробным результатом (для удобства обслуживания, производительности и загрузки сети).
Если параметр установлен в 1, я получаю все столбцы, иначе только один или два наиболее важных.
Очень ограниченным образом это работает так:
ALTER PROCEDURE [dbo].[GetAllUsers]
@detail BIT
AS
IF @detail = 1 SELECT UserName, Title, UserID FROM Users
ELSE SELECT Username FROM Users
Но я хочу использовать комбинированное предложение WHEN.
Вот что я пробовал, но это не работает.
ALTER PROCEDURE [dbo].[GetAllUsers]
@detail BIT
AS
CASE @detail
WHEN 1 THEN SELECT UserName, Title, UserID
ELSE SELECT UserName END
FROM Users
WHERE UserID < 5
Есть ли способ достичь чего-то подобного?