Announcement

Collapse
No announcement yet.

Trigger in zweite Tabelle mit If Abfrage

Collapse
X
  • Filter
  • Time
  • Show
Clear All
new posts

  • Trigger in zweite Tabelle mit If Abfrage

    Hi,

    ich versuch momentan einen Trigger für MySQL zu schreiben der bei folgendem Vorgang ausgelöst werden soll:

    wenn im neuen Datensatz im Feld "community" als Inhalt "public" steht, soll der Eintrag nicht in die Tabelle snmptt.snmptt sondern in snmptt.test geschrieben werden.

    Bis jetzt sieht mein Code wie folgt aus:

    Code:
    DELIMITER $$
    DROP TRIGGER /*!50033 IF EXISTS */ `trap_verteilung`$$
    CREATE TRIGGER trap_verteilung BEFORE INSERT on snmptt.snmptt
    FOR EACH ROW
    BEGIN
    IF new.community = 'public' then
    insert into snmptt.test
    SET id = new.id,
    eventname = new.eventname,
    eventid = new.eventid,
    trapoid = new.trapoid,
    enterprise = new.enterprise,
    community = new.community,
    hostname = new.hostname,
    agentip = new.agentip,
    category = new.category,
    severity = new.severity,
    uptime = new.uptime,
    traptime = new.traptime,
    formatline = new.formatline,
    trapread = new.trapread;
    ENDIF;
    DELIMITER ;


    hier der Code für die Tabelle snmptt.snmptt:

    Code:
    CREATE TABLE `snmptt` (
     `id` mediumint(9) NOT NULL AUTO_INCREMENT,
     `eventname` varchar(50) DEFAULT NULL,
     `eventid` varchar(50) DEFAULT NULL,
     `trapoid` varchar(100) DEFAULT NULL,
     `enterprise` varchar(100) DEFAULT NULL,
     `community` varchar(20) DEFAULT NULL,
     `hostname` varchar(100) DEFAULT NULL,
     `agentip` varchar(16) DEFAULT NULL,
     `category` varchar(20) DEFAULT NULL,
     `severity` varchar(20) DEFAULT NULL,
     `uptime` varchar(20) DEFAULT NULL,
     `traptime` varchar(30) DEFAULT NULL,
     `formatline` varchar(255) DEFAULT NULL,
     `trapread` int(11) DEFAULT '0',
     PRIMARY KEY (`id`)
    ) ENGINE=MyISAM AUTO_INCREMENT=275 DEFAULT CHARSET=latin1
    die Tabelle snmptt.test ist nur eine kopie von snmptt.snmptt.


    Hat jemand eine Idee warum mein Trigger nicht funktioniert? Bin noch relativ neu auf dem Gebiet also steinigt mich ruhig

    Grüße & vielen dank

    Tobi

  • #2
    Hallo,
    Originally posted by tobi468 View Post
    ...ich versuch momentan einen Trigger für MySQL zu schreiben der bei folgendem Vorgang ausgelöst werden soll:

    wenn im neuen Datensatz im Feld "community" als Inhalt "public" steht, soll der Eintrag nicht in die Tabelle snmptt.snmptt sondern in snmptt.test geschrieben werden.
    *grusel* Sowas gehört NICHT in einen Trigger, selbst wenn es gehen würde! Vergiss das und lass sowas die Applikationslogik entscheiden.

    Gruß Falk
    Wenn du denkst du hast alle Bugs gefunden, dann ist das ein Bug in deiner Denksoftware.

    Quellcode ohne ein Mindestmaß an Formatierung sehe ich mir nicht an! Ich leiste keinen Privatsupport per Mail oder PN!

    Comment

    Working...
    X