MSSQL 2008 R2
Hi, ich sitze gerade an einer Funktion, die als Rückgabewert eine von der Struktur immer wieder auftauchende Tabelle hat.
Da ich via
create type monat_spanne as table (anfang datetime, ende datetime)
meinen Typ erstellt habe, möchte ich diesen nun auch verwenden, nur klappt das nicht.
create function dbo.monatspanne (@date datetime)
returns @datum monat_spanne
as
wirft mir einen Fehler wegen Syntax.
Geht das an sich garnicht oder mach ich wieder mal was falsch?
MfG AoE
Ich sehe @date und @datum. Wenn damit das gleiche gemeint soll, ists falsch.
Die Syntax returns @datum monat_spanne sagt mir nichts. Was soll das tun? Bist du sicher dass das stimmt?
Schau dir doch mal Beispiele für Funktionen an, vielleicht erkennst du daran ja schon was du wie machen müsstest.
Es war von der Funktion nur der Kopf angegeben.
create function dbo.monatspanne (@date datetime)
returns @datum monat_spanne
as
begin
....Anweisungen
inserte etwas in @datum
return
end
Die Funktion ist noch nicht fertig, daher nur erstmal pseudocode. Ist ja auch nicht schlimm. Der Rumpf interessiert grundlegen auch nicht.
@date und @datum sind weitestgehend unabhängig von einander. @date kommt rein, berechnen, @datum kommt raus.
Meine Frage ist jetzt, wie bzw ob es zu bewerkstelligen ist, dass die Tabelle @datum mit einem userdefined type (via Create Type) versehen wird.
Folgende Funktion geht
create type testDC from decimal(6,2)
go
create function dbo.test (@zahl testDC)
returns @rueck table (wert money)
as
begin
declare @schritt money = (Convert(money, @zahl * 5))
insert into @rueck
values (@schritt)
return
end
select * from dbo.test(4)
(Beispiel nur um meine Syntax nochmal zu verdeutlichen)
nur wäre hier ebenfalls die Frage offen, ob es möglich ist, für den return-datentyp einen userdefined type anzugeben