MS SSQL: cómo usar mayúsculas y minúsculas cuando como parámetro exec

Usando SQL Server 2008 R2, estoy tratando de ejecutar un procedimiento almacenado usando exec con dos parámetros. El primer parámetro es un identificador único. El segundo parámetro puede ser '2' o '3'.

Estoy usando una función escrita que espera el identificador único y devuelve verdadero (1) si el caso al que apunta el identificador es de tipo A o falso (0) si el caso es de tipo B. Similar a VB.Net IIF o el C # equivalente Pensé en usar Case When para recuperar el valor usando la función mencionada.

Esperaba que se viera así:

exec spAddCaseToDeletedInso @Case, (select case when dbo.getCaseOwnerByCaseId(@Case) = 1 then '3' else '2' end)

Sin embargo, todo lo que obtengo es un error de sintaxis.

Sé que puedo solucionar este problema utilizando el siguiente método:

declare @CaseOwner as char(1) = (select case when dbo.getCaseOwnerByCaseId(@Case) = 1 then '3' else '2' end)
exec spAddCaseToDeletedInso @Case, @CaseOwner

¿Hay alguna forma de usar Case When para especificar un valor dentro de la línea ejecutiva o necesito usar la solución alternativa?

Respuestas a la pregunta(1)

Su respuesta a la pregunta