Ondersteuning > Programmeren

Mysql triggers

(1/2) > >>

accesshater:
Beste mede linux gebruikers =p

Ik probeer in mysql een trigger te bouwen, heb dit eerder gedaan in mssql en ik moet eerlijk zeggen dat mysql echt but is.

Ik wil mijn trigger debuggen met behulp van print maar dit werkt niet. Weet iemand hier misschien een oplossing voor. Op dit moment ben ik mijn testdata weg aan schrijven naar een temp tabel.

Wat ik ook probeer is op een variable aan te maken in de trigger maar dit lukt mij ook niet =(.

Ik vind het jammer dat de documentatie die mysql aanbied heel beperkt is,

Er staat bijvoorbeeld een voorbeeld met een "FOR EACH ROW", maar ik wil dus een multiple insert tegengaan en wil de rowcount ophalen.

Gr ACCESShater

alvast bedankt

markba:
MySQL heeft row level triggers en geen statement level triggers (zoals in MS SQL Server en Sybase ASE). De triggers gaat dus af, elke keer als een record wordt aangepast (insert/update/delete). De variabele @@rowcount bestaat dus ook niet (kan ook niet bestaan).
http://dev.mysql.com/doc/refman/5.0/en/faqs-triggers.html#qandaitem-29-5-3

Het tegenhouden van een multiple insert lukt dus niet, in ieder geval niet op de manier zoals je in gedachten had. Misschien kun je uitleggen wat bij jou een 'multiple insert' is (binnen of buiten een transactie, één of meerdere clients, etc.).

Nog wat info over triggers: http://dev.mysql.com/doc/refman/5.0/en/triggers.html

accesshater:
ik wilde met @@rowcount afdwingen dat er maar 1 record mag worden aangepast oid. Maar als de trigger afgaat voor iedere record dan is het wel te doen.

Alleen ben ik er net ook achter gekomen dat er geen raiseerror bestaat voor mysql, wat opzich heel jammer is. Hoe geef je de fouten nu door aan de applicatie?

markba:
Tsja, MySQL is nog niet op het niveau van 'echte' databases (Firebird bijvoorbeeld, mijn favoriet) zullen we maar zeggen, want errors raizen zit er (voor zo ver ik na kan gaan) niet in:
http://bugs.mysql.com/bug.php?id=16999
http://rpbouman.blogspot.com/2006/02/dont-you-need-proper-error-handling.html

accesshater:
jammer =(

iig bedankt voor je hulp

Navigatie

[0] Berichtenindex

[#] Volgende pagina

Naar de volledige versie