Hallo
Wenn ich folgenden Insert in einer Stored Procedure ausführe:
Nun möchte ich einige Probleme abfangen:
1) Es existiert bereits ein Eintrag im Ersten INSERT.
Nun wird ja der Wert aktualisiert, wobei es derselbe ist. Kann ich den INSERT überspringen wenn der Wert schon existiert? Eine IF mit einer Select ist an sich klar, aber gehts einfacher?
2) Ich möchte den 2. Insert nochmal ausführen, wenn kein Eintrag in der Tabelle "objectList" mit dem Wert "en" bei "locale_ID" und "object_ID" existiert.
Wiederum eine IF Abfrage mit einer Select ist natürlich ein Weg, aber wie bei 1): Gehts eleganter?
Vielen Dank!
Wenn ich folgenden Insert in einer Stored Procedure ausführe:
Code:
DELIMITER | CREATE DEFINER = `root`@`localhost` PROCEDURE `AddObject` (IN `ObjectName` VARCHAR(50), IN `GroupID` INT, OUT `ObjectID` BIGINT, IN `LocaleID` CHAR(2)) LANGUAGE SQL SQL SECURITY DEFINER BEGIN INSERT INTO `object` (`ID`, `group_ID`) VALUES (NULL, GroupID); SET ObjectID = Last_insert_id(); INSERT INTO `objectList` (`object_ID`, `locale_ID`, `Name`) VALUES (ObjectID, LocaleID, ObjectName); END; | DELIMITER ;
1) Es existiert bereits ein Eintrag im Ersten INSERT.
Code:
ON DUPLICATE KEY UPDATE ID=ID
2) Ich möchte den 2. Insert nochmal ausführen, wenn kein Eintrag in der Tabelle "objectList" mit dem Wert "en" bei "locale_ID" und "object_ID" existiert.
Wiederum eine IF Abfrage mit einer Select ist natürlich ein Weg, aber wie bei 1): Gehts eleganter?
Vielen Dank!
Comment