Du suchst also eine Lösung für das "INSERT OR UPDATE"-Problem?
MySQL INSERT OR UPDATE
http://dev.mysql.com/doc/refman/5.1/...duplicate.html
Postgre
SQL kennt z.B. die Variable FOUND, welche auf True steht, wenn z.B. ein vorheriges Update mindestens einen Datensatz "fand".
Eventuell hat
mySQL auch sowas oder was Ähnliches?
SQL-Code:
UPDATE db SET b = data
WHERE a =
key;
IF not FOUND
THEN
INSERT INTO db (a, b)
VALUES (
key, data);
Oder man macht sich selber soeine Variable, wenn die vorhandene Variable (hier @Result) kein passendes Ergebnis liefert.
SQL-Code:
declare result int;
declare jupp bool;
select SEQUENCE_VALUE, true into @result, @jupp from openjpa_sequence_table where id = 0;
if jupp is null then
insert ...
else
update ..
PS: Was passiert wohl, wenn zwischen dem SELECT und dem INSERT/UPDATE jemand Anderes ein INSERT/UPDATE macht?
Oder führt
MySQL diese FUNCTION quasi atomar aus, so daß kein Anderer zur selben Zeit was an der Tabelle machen kann?