SQL Server kann nicht finden meine benutzerdefinierte Funktion in einer gespeicherten Prozedur

Muss ich haben einige Berechtigungen falsch, aber ich kann nicht herausfinden, wie. Der folgende code ist vereinfacht, aber ich kann nicht einmal dies funktioniert

CREATE FUNCTION ufTest 
(
    @myParm int
)
RETURNS int
AS
BEGIN
    DECLARE @Result int

    SELECT @Result = @myParm + 1

    RETURN @Result
END
GO

Dann habe ich nur wollen, um in der Lage sein, um die Funktion aufzurufen, die aus einer gespeicherten Prozedur:

CREATE PROCEDURE dbo.[uspGetGroupProfileService]
@id        int
AS
BEGIN
    SET NOCOUNT ON;
    DECLARE @otherId int;
    SET @otherId = dbo.ufTest(@id);
END

SQLServer sagt mir, dass es nicht finden können dbo.ufTest. Es zeigt sich unter [DB]\Programmability\Funktionen\skalarwertfunktionen aber ich kann nicht herausfinden, wie es zu benutzen.

Jemand eine Idee, was ich falsch mache?

Sind Sie sicher, dass es erstellt wird, in der dbo schema? Sie erhalten in was auch immer Ihr Standard-schema ist.
Was passiert, wenn Sie versuchen, führen Sie den code aus der SP, indem Sie sich als einen Stapel (mit einer fest codierten Wert oder was auch immer)?
Die gespeicherte Prozedur läuft einfach gut. Ich habe einfach nur ein wenig code in eine Menge von verschiedenen gespeicherte Prozeduren, die ich verschieben möchten, um eine Funktion. Das sollte eigentlich nicht so schwer sein. Ich bin Anfang zu denken, es ist etwas falsch mit der Installation
+1 ~bump~ nur dieses problem ist mir in SQLServer 2005.

InformationsquelleAutor Josh Russo | 2011-01-15

Schreibe einen Kommentar