Ik moet een functie maken die het aantal titels geeft met een prijs onder de opgegeven limiet, zo dus:

CREATE FUNCTION func_prijsonder(limiet FLOAT)

...kan iemand me helpen svp,, merci! :(

Mijn tabel boeken bestaat uit: Code, titel, auteur, prijs en voorraad
Het manual doet het toch prima bij 'create function'?
Ja, maar ik weet niet hoe en wat voor functie ik moet maken om dat te realiseren..
Ik vind die mysql docs ook maar onduidelijk. Als je je antwoord vindt, deel het dan met ons aub.

delimiter //

CREATE FUNCTION func_prijsonder (limiet DECIMAL(11,2))
    RETURNS INT(11)
    READS SQL DATA
BEGIN
    DECLARE aantal INT(11);
    SELECT
        COUNT(*) INTO aantal
    FROM
        boeken
    WHERE
        prijs < limiet;
    RETURN aantal;
END
//

delimiter ;
@Jelmer rrr, kan ik niet een FLOAT gebruiken voor limiet? Tenminste, zo staat het in de opdracht..

Ps. Hartstikke bedankt!

Toevoeging op 18/01/2011 18:50:13:

Kun je me ook laten zien of vertellen of dit goed is als ik het wil uitproberen:

SET @limiet = 50;
call func_prijsonder;



Toevoeging op 18/01/2011 21:21:04:

SET @limiet = 45;
CALL FUNCTION func_prijsonder(@limiet);

SELECT @limiet

werkt niet...

Ps. Nogmaals bedankt Jelmer, de functie is wel aangemaakt

Toevoeging op 18/01/2011 21:23:44:

GELUKT!

Volgende code moest ik gebruiken:

SET @limiet = 45;
SELECT func_prijsonder(@limiet)

Merci iedereen :p

Toevoeging op 18/01/2011 21:33:11:

Snelle vraagje, hoe kan ik in de functie ervoor zorgen dat het ook de titel en prijs meeleest als ik select gebruik?
Je geeft nu een aantal terug. Hoe verwacht je daarbij een titel en prijs te combineren? Van welk product moet hij die pakken?
Ik heb een tabel BOEKEN met de volgende velden:

Code, titel, auteur, prijs en voorraad.

Nu krijg ik met de functie alleen een aantal te zien (wat overigens goed werkt!). Ik zou graag een functie hebben dat wanneer ik de limiet opzet, de titel en prijs te zien krijg ..

Reageren