Function gibt Fehler (Incorrect syntax near the keyword 'AS')

09/07/2008 - 03:42 von Matthias V. | Report spam
Hallo zusammen!
Ich hànge mal wieder an einem winzigen Problemchen, und hoffe mir kann
jemand auf die Füße helfen.
Ich habe in einer Datenbank eine Struktur, die für sich gesehen eine Tabelle
darstellen soll. Bislang frage ich direkt im Frontend die Tabellen ab und
laufe durch die Ergebnisse, aber ich würde es gerne etwas "aufhübschen".
Hierzu habe ich (neben zig Unterfunktionen) folgende Funktion geschrieben:

CREATE FUNCTION fctCreateRows(@id int)
AS
Declare @tbl TABLE (td varchar(max))

Declare @reihe int
Declare @ex int
Set @reihe=1

set @ex=(SELECT case when not td is null then 1 else 0 end as A FROM
getMicroTableROW(@id,@reihe))
WHILE @ex>=1
BEGIN
set @ex=(SELECT case when not td is null then 1 else 0 end as A FROM
getMicroTableROW(@id,@reihe))
if (@ex=0) break

insert into @tbl SELECT td FROM getMicroTableROW(@id,@reihe)
set @reihe=@reihe +1
END

Die Funktion getMicroTableROW erwartet die ID der Tabelle sowie die
gewünschte Zeile. Die Zeilen sind immer fortlaufend, es kann nie eine fehlen.
Das Resultat kommt als "For XML".

Wenn ich diese Funktion anlegen möchte erhalte ich die Meldung
Meldung 156, Ebene 15, Status 1, Prozedur fctCreateRows, Zeile 2
Incorrect syntax near the keyword 'AS'.

Also, am AS wird es wohl kaum liegen, aber woran liegt es dann nur :-(

Sieht irgendjemand meinen Fehler?

Vielen Dank
Matthias
 

Lesen sie die antworten

#1 Henry Habermacher
09/07/2008 - 08:01 | Warnen spam
Hallo Mathias

"Matthias V." wrote in message
news:
CREATE FUNCTION fctCreateRows(@id int)



Hier fehlt die RETURNS Klausel. Du musst hier angeben, was die Funktion
zurückliefern soll. Beispiel:

RETURNS INT

Gruss
Henry

AS
Declare @tbl TABLE (td varchar(max))




Microsoft MVP Office Access
Keine E-Mails auf Postings in NGs. Danke.
Access FAQ www.donkarl.com

Ähnliche fragen