Estoy tratando de escribir un procedimiento almacenado para ayudar con el desarrollo de nuestra base de datos, pero estoy teniendo problemas para usarlo. Por ejemplo:¿Utiliza el resultado de una expresión (por ejemplo, Llamada de función) en una lista de parámetros de procedimiento almacenado?
DECLARE @pID int;
SET @pID = 1;
EXEC WriteLog 'Component', 'Source', 'Could not find given id: ' + CAST(@pID AS varchar);
Esto produce el error (en SQL Server 2005)
Msg 102, nivel 15, estado 1, línea 4 sintaxis incorrecta cerca '+'.
¿Puede alguien explicarme por qué mi sintaxis es incorrecta y la forma correcta de resolver este problema?
Esperaba evitar las variables intermedias. ¿Hay una forma adecuada de hacer esto sin presentarlos? – WorkerThread
Ah, acabo de ver tu explicación. Gracias por aclarar esto. – WorkerThread
@Worker - Todo es un poco molesto. MS reconoce tanto aquí https://connect.microsoft.com/SQLServer/feedback/details/352110/t-sql-use-scalar-functions-as-stored-procedure-parameters –