Ich muss einige Berechtigungen falsch haben, aber ich kann nicht herausfinden, wie. Der folgende Code wird vereinfacht, aber ich kann nicht einmal das ich will nur in der Lage, die Funktion aus einer gespeicherten Prozedur aufzurufenSQLServer kann meine benutzerdefinierte Funktion Funktion in gespeicherten Prozedur nicht finden
CREATE FUNCTION ufTest
(
@myParm int
)
RETURNS int
AS
BEGIN
DECLARE @Result int
SELECT @Result = @myParm + 1
RETURN @Result
END
GO
Dann an die Arbeit:
CREATE PROCEDURE dbo.[uspGetGroupProfileService]
@id int
AS
BEGIN
SET NOCOUNT ON;
DECLARE @otherId int;
SET @otherId = dbo.ufTest(@id);
END
SQLServer hält mir zu sagen, dass Es kann dbo.ufTest
nicht finden. Es erscheint unter [DB] \ Programmability \ Functions \ Scalar-valued Functions, aber ich kann nicht herausfinden, wie man es benutzt.
Hat jemand eine Idee, was ich falsch mache?
Sind Sie sicher, dass es im 'dbo' Schema erstellt wird? Es wird in das eingefügt, was dein Standardschema ist. –
Was passiert, wenn Sie versuchen, den Code vom SP selbst als Stapel auszuführen (mit einem fest codierten Wert oder was auch immer)? –
Der gespeicherte Proc läuft einwandfrei. Ich habe nur einen Code in vielen verschiedenen gespeicherten Procs, die ich in eine Funktion verschieben möchte. Das sollte wirklich nicht so schwer sein. Ich fange an zu denken, dass es etwas falsch mit der Installation ist –