Einzelnen Beitrag anzeigen

Benutzerbild von IBExpert
IBExpert

Registriert seit: 15. Mär 2005
646 Beiträge
 
FreePascal / Lazarus
 
#3

AW: Firebird SQL Update or Insert mit Addition?

  Alt 27. Okt 2020, 18:00
ist mit einem execute block auch kein Hexenwerk

Code:
execute block
as
declare variable id integer;
declare variable val integer;
begin
  for select id, val from srctbl into id, val
  do
    if (exists(select id from tgttbl where id=:id))
    then
      update tgttbl set val=val+:val where id=:id;
    else
      insert into tgttbl(id,val) values (:id,:val);

end
einfach mal so runtergetippt, sollte aber nachvollziehbar sein, was man braucht
und wie das geht. Ausführen kann das jede T*query in sql property mit execsql o.ä.
Holger Klemt
www.ibexpert.com - IBExpert GmbH
Oldenburger Str 233 - 26203 Wardenburg - Germany
IBExpert and Firebird Power Workshops jederzeit auch als Firmenschulung
  Mit Zitat antworten Zitat