Devo avere alcune autorizzazioni errate, ma non riesco a capire come. Il seguente codice è semplificato, ma non può nemmeno arrivare a questo lavoroSQLServer non trova la funzione funzione definita dall'utente nella procedura memorizzata
CREATE FUNCTION ufTest
(
@myParm int
)
RETURNS int
AS
BEGIN
DECLARE @Result int
SELECT @Result = @myParm + 1
RETURN @Result
END
GO
Poi voglio solo essere in grado di chiamare la funzione da una stored procedure:
CREATE PROCEDURE dbo.[uspGetGroupProfileService]
@id int
AS
BEGIN
SET NOCOUNT ON;
DECLARE @otherId int;
SET @otherId = dbo.ufTest(@id);
END
SQLServer continua a dirmi che non riesce a trovare dbo.ufTest
. Si presenta sotto [DB] \ Programmabilità \ Funzioni \ Funzioni scalari ma non riesco a capire come usarlo.
Qualcuno ha idea di cosa sto facendo male?
Sei sicuro che sia stato creato nello schema 'dbo'? Verrà inserito in qualunque sia lo schema predefinito. –
Cosa succede quando si tenta di eseguire il codice dall'SP da solo come batch (con un valore hardcoded o altro)? –
Il proc memorizzato viene eseguito correttamente. Ho solo un po 'di codice in un sacco di diversi stored process che voglio passare a una funzione. Questo non dovrebbe essere così difficile. Sto iniziando a pensare che sia qualcosa di sbagliato con l'installazione –