bei Erstellung eines Trigger kennt MySQL das begin/end nicht

Alles, was MariaDB und MySQL betrifft, kann hier besprochen werden.

bei Erstellung eines Trigger kennt MySQL das begin/end nicht

Postby wonny22 » 18. April 2007 12:55

ich arbeite noch nicht lange mit MySQL, aber kenne schon ORACLE. Also bin kein absolut blutiger Anfänger. Trigger unter Oracle ist mir bekannt, aber da ich in meinem Projekt für das Studium XAMPP auf meinem Rechner nutzen will, muss ich da jetzt Trigger einbauen.

Einfache Trigger mit einer Anweisung ( also ohne begin-end-Block) funktionieren, aber sobald ich begin und end einfüge meckert das blöde Ding rum und erzählt mir irgendwas, dass er das end am Ende nicht kennt ... ??? Ich hab schon lange im Internet nach derartigen Problemen gesucht und auch hier im Forum lange gesucht, aber bin nicht fündig geworden.

Bitte helft mir
Danke
wonny22
wonny22
 
Posts: 5
Joined: 18. April 2007 12:39

hat noch nie jemand versucht einen Trigger zu erstellen?

Postby wonny22 » 25. April 2007 08:40

hat noch nie jemand versucht einen Trigger zu erstellen?
bitte um Hilfe.... *verzweifelt-guck*
wonny22
 
Posts: 5
Joined: 18. April 2007 12:39

Postby Mätes » 26. April 2007 13:02

nein, noch nicht versucht.

poste doch mal den code, vielleicht isset ein syntax-fehler,
den jeder sofort erkennt, der nicht schon x stunden davorgesessen hat :)

m
User avatar
Mätes
 
Posts: 142
Joined: 13. April 2006 09:34
Location: kölle

Postby wonny22 » 02. May 2007 08:58

o.k. hier mal ein Beispiel: in der Tabelle dienstwagen_mitarbeiter_fest gibts dienstwagen_id und mitarbeiter_id

Trigger (den ganzen schnick schnack drumherum hab ich mal rausgenommen)

create trigger t1
before insert on dienstwagen_mitarbeiter_fest
for each row
begin
set new.dienstwagen_id =1;
end;

Fehlermeldung:

FEHLER
SQL-Befehl:

create trigger t1
before insert on dienstwagen_mitarbeiter_fest
for each row
begin
set new.dienstwagen_id =1;

MySql meldet:
#1064 - You have an error in your SQL syntax; check the manual that corresponds to your MySql server version for the right syntax to use near 'set new.dienstwagen_id =1' at line 5

ich bin mir aber relativ sicher das das Problem an begin-end liegt, da wenn ich nur schreibe:

create trigger t1
before insert on dienstwagen_mitarbeiter_fest
for each row
set new.dienstwagen_id =1;

alles funktioniert...

Problem... bei einem Trigger will ich ja nicht nur eine Zeile als Aktion schreiben!!!

HILFE!!!!
wonny22
 
Posts: 5
Joined: 18. April 2007 12:39

Postby Wiedmann » 02. May 2007 11:23

Führst du das ganze im Konsolenclient "mysql" aus?
Wiedmann
AF Moderator
 
Posts: 17102
Joined: 01. February 2004 12:38
Location: Stuttgart / Germany

Postby wonny22 » 02. May 2007 17:33

ups das hab ich natürlich vergessen zu schreiben... ich hab bisher meine Eingaben immer im SQL-Eingabefenster bei phpMyAdmin gemacht (ApacheFriends XAMPP (basic package) version 1.5.4a)
wonny22
 
Posts: 5
Joined: 18. April 2007 12:39

Postby Wiedmann » 02. May 2007 17:47

ich hab bisher meine Eingaben immer im SQL-Eingabefenster bei phpMyAdmin gemacht

Nun, den "kenn" ich nicht...

Wenn man das jedenfalls in der MySQL-Shell macht, muss man den DELIMITER für die Shell ändern, da du ja das ";" im Statement brauchst.
Wiedmann
AF Moderator
 
Posts: 17102
Joined: 01. February 2004 12:38
Location: Stuttgart / Germany

Postby wonny22 » 04. May 2007 14:40

mmh delimiter kennt phpMyAdmin nicht... ich werds aufgeben und mit Oracle weiter arbeiten :-) da kenn ich mich sowieso besser aus :-)
trotzdem danke für die angebotene Hilfe
wonny22
 
Posts: 5
Joined: 18. April 2007 12:39


Return to MariaDB - MySQL

Who is online

Users browsing this forum: No registered users and 29 guests