Debo tener algunos permisos incorrectos, pero no puedo entender cómo. El siguiente código se simplifica, sino que ni siquiera puede conseguir que esto funcioneSQLServer no puede encontrar mi función definida por el usuario en el procedimiento almacenado
CREATE FUNCTION ufTest
(
@myParm int
)
RETURNS int
AS
BEGIN
DECLARE @Result int
SELECT @Result = @myParm + 1
RETURN @Result
END
GO
Entonces yo sólo quiero ser capaz de llamar a la función de un procedimiento almacenado:
CREATE PROCEDURE dbo.[uspGetGroupProfileService]
@id int
AS
BEGIN
SET NOCOUNT ON;
DECLARE @otherId int;
SET @otherId = dbo.ufTest(@id);
END
SQLServer me dice que no puede encontrar dbo.ufTest
. Se muestra en [DB] \ Programmability \ Functions \ Scalar-Valoured Functions pero no entiendo cómo usarlo.
¿Alguien tiene alguna idea de lo que estoy haciendo mal?
¿Estás seguro de que se está creando en el esquema 'dbo'? Se pondrá en cualquiera que sea su esquema predeterminado. –
¿Qué sucede cuando intenta ejecutar el código del SP por sí mismo como un lote (con un valor codificado o lo que sea)? –
El proceso almacenado funciona bien. Solo tengo un código en muchos procs almacenados diferentes que quiero mover a una función. Esto realmente no debería ser tan difícil. Estoy empezando a pensar que es algo malo con la instalación –