Forums Neueste Beiträge
 

Fehler in Rekursion bzw. Funktionsaufruf in Funktion

01/07/2009 - 12:07 von Michael | Report spam
Hallo,

ich habe zwei SQL-Funktionen geschrieben. A und B

Wenn ich nun A aufrufe, welche wiederum rekursiv A aufruft
funktioniert alles.
Wenn ich nun aber in A zusàtzlich Funktion B aufrufe, kommt die
Fehlermeldung:
Die "dbo"-Spalte oder die benutzerdefinierte Funktion bzw. das
benutzerdefinierte Aggregat "dbo.B" wurde nicht gefunden, oder der
Name ist mehrdeutig.

Geht das denn nicht? Oder liegt es an der Berechtigung?

Danke
Michael
 

Lesen sie die antworten

#1 Elmar Boye
01/07/2009 - 13:53 | Warnen spam
Hallo Michael,

Michael schrieb:
ich habe zwei SQL-Funktionen geschrieben. A und B

Wenn ich nun A aufrufe, welche wiederum rekursiv A aufruft
funktioniert alles.



Rekursive Funktionen sollte man so weit als möglich meiden,
denn der SQL Server hat für T-SQL Prozeduren, Funktionen und
Trigger eine maximale Verschachtelungstiefe von 32.

Wenn es rekursiv sein muß, so verwende eine CTE (ab SQL Server 2005),
wie z. B. das Beispiel C) zu CREATE FUNCTION zeigt:
http://msdn.microsoft.com/de-de/lib...86755.aspx

Wenn ich nun aber in A zusàtzlich Funktion B aufrufe, kommt die
Fehlermeldung:
Die "dbo"-Spalte oder die benutzerdefinierte Funktion bzw. das
benutzerdefinierte Aggregat "dbo.B" wurde nicht gefunden, oder der
Name ist mehrdeutig.



Hier scheitert es daran, dass die Funktion in den Abfrageplan
eingebaut werden soll...

Gruß Elmar

Ähnliche fragen