Avatar billede net-base.dk Nybegynder
08. juni 2004 - 11:14 Der er 3 kommentarer og
1 løsning

user defined funktion sætning

hvad er det for et argument jeg mangler at sætte ?

kommer med fejl 1075: RETURN statements in scalar valued funktions must include an argument

CREATE FUNCTION totalpris
(@dageialt integer, @lokaleid integer) --@prisprdag money)
RETURNS money
AS 
BEGIN
return 
      select (lokalebooking.dageialt * vaerelser.prisprdag) as total
      from lokalebooking, vaerelser   
      where vaerelser.lokaleid = lokalebooking.lokaleid
      and lokalebooking.lokaleid = lokaleid
END
Avatar billede ldanielsen Nybegynder
08. juni 2004 - 11:26 #1
CREATE FUNCTION totalpris
(@dageialt integer, @lokaleid integer) --@prisprdag money)
RETURNS money
AS 
BEGIN
DECLARE @ReturnVar money

      select TOP 1 @ReturnVar = lokalebooking.dageialt * vaerelser.prisprdag
      from lokalebooking, vaerelser   
      where vaerelser.lokaleid = lokalebooking.lokaleid
      and lokalebooking.lokaleid = lokaleid

RETURN @ReturnVar

END
Avatar billede ldanielsen Nybegynder
08. juni 2004 - 12:07 #2
Jeg er ikke sikker på hvorfor det melder fejl, må skulle du bare sætte parentes omkr hele select'en.

Jeg tilføjer lige TOP 1, for det er i hvert fald ulovligt at tildele værdi til en variabel fra en query der returnerer mere end en linie. Dette kunne faktisk også være dit problem.

Jeg laver dem altid sådan her, og de virker.
Avatar billede trer Nybegynder
08. juni 2004 - 14:02 #3
Eh... mangler i ikke at anvende inputparametren i funktionen?

"and lokalebooking.lokaleid = lokaleid"

rettes til

and lokalebooking.lokaleid = @lokaleid
Avatar billede ldanielsen Nybegynder
08. juni 2004 - 14:30 #4
Jo, det havde jeg slet ikke set på:

CREATE FUNCTION totalpris
(@dageialt int, @lokaleid int, @prisprdag money)
RETURNS money
AS 
BEGIN
DECLARE @ReturnVar money

      select TOP 1 @ReturnVar = lokalebooking.dageialt * vaerelser.prisprdag
      from lokalebooking, vaerelser   
      where vaerelser.lokaleid = lokalebooking.lokaleid
      and lokalebooking.lokaleid = @lokaleid

RETURN @ReturnVar

END

så er den vist velformet.

Man hvad skal @dageialt og @prisprdag med for, de bruge jo ikke???
Avatar billede Ny bruger Nybegynder

Din løsning...

Tilladte BB-code-tags: [b]fed[/b] [i]kursiv[/i] [u]understreget[/u] Web- og emailadresser omdannes automatisk til links. Der sættes "nofollow" på alle links.

Loading billede Opret Preview
Kategori
Computerworld tilbyder specialiserede kurser i database-management

Log ind eller opret profil

Hov!

For at kunne deltage på Computerworld Eksperten skal du være logget ind.

Det er heldigvis nemt at oprette en bruger: Det tager to minutter og du kan vælge at bruge enten e-mail, Facebook eller Google som login.

Du kan også logge ind via nedenstående tjenester