Marc Reichelt: MySQL 5: Wann sind eigene Funktionen bzw. Prozeduren sinnvoll?

Beitrag lesen

Hallo nochmals,

Sodass ich nicht mehr einen Query in der Form "SELECT id, name, ... FROM table WHERE ..." schreiben muss, sondern stattdessen einfach eine Funktion aufrufe. Ist das möglich?

Ja, es geht - sehr gut sogar.
Allerdings steht hier nichts davon, dass man Prozeduren so einsetzen kann. Barf.

Ein einfaches Beispiel wäre folgendes:
CREATE PROCEDURE getAllCategories() SELECT * FROM categories;

Dann kann man über
CALL getAllCategories();
die Prozedur aufrufen - und bekommt eine Tabelle zurück, so wie ich mir das wünsche. :-)

Ich vermute, dass es sinnvoll ist, die SQL-Logik in Prozeduren auszulagern - damit diese riesigen SELECTs (nicht wie im Beispiel) den PHP-Code nicht belasten. Liege ich da richtig? Welche Gründe würden gegen weiten Einsatz der MySQL-Prozeduren sprechen?

Grüße

Marc Reichelt || http://www.marcreichelt.de/

--
panic("Oh boy, that early out of memory?");
        linux-2.2.16/arch/mips/mm/init.c
Selfcode: ie:{ fl:| br:> va:} ls:< fo:} rl:( n4:( ss:) de:> js:| ch:? sh:| mo:) zu:)