AGB  ·  Datenschutz  ·  Impressum  







Anmelden
Nützliche Links
Registrieren
Zurück Delphi-PRAXiS Programmierung allgemein Datenbanken Delphi Firebird SQL Update or Insert mit Addition?
Thema durchsuchen
Ansicht
Themen-Optionen

Firebird SQL Update or Insert mit Addition?

Ein Thema von Eppos · begonnen am 27. Okt 2020 · letzter Beitrag vom 27. Okt 2020
Antwort Antwort
Eppos

Registriert seit: 7. Aug 2006
Ort: Heilbronn
523 Beiträge
 
Delphi 11 Alexandria
 
#1

Firebird SQL Update or Insert mit Addition?

  Alt 27. Okt 2020, 18:13
Datenbank: Firebird • Version: 2.5.8 • Zugriff über: FireDAC
Hallo Zusammen,

die Funktion "Update or Insert" ist eigentlich genial.
Meine Frage wäre, ist es auch möglich zu addieren?
Beispiel:
Wenn Tabelle leer, dann Insert, Feld = 1 soweit klar
Wenn Tabelle nicht leer, Update, aber Update (2) = Feld (1) + Wert (1)

Gruß
Eppos
  Mit Zitat antworten Zitat
mkinzler
(Moderator)

Registriert seit: 9. Dez 2005
Ort: Heilbronn
39.858 Beiträge
 
Delphi 11 Alexandria
 
#2

AW: Firebird SQL Update or Insert mit Addition?

  Alt 27. Okt 2020, 18:19
Das geht nur mit der MERGE INTO Anweisung.
Markus Kinzler
  Mit Zitat antworten Zitat
Benutzerbild von IBExpert
IBExpert

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

AW: Firebird SQL Update or Insert mit Addition?

  Alt 27. Okt 2020, 19: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
Antwort Antwort


Forumregeln

Es ist dir nicht erlaubt, neue Themen zu verfassen.
Es ist dir nicht erlaubt, auf Beiträge zu antworten.
Es ist dir nicht erlaubt, Anhänge hochzuladen.
Es ist dir nicht erlaubt, deine Beiträge zu bearbeiten.

BB-Code ist an.
Smileys sind an.
[IMG] Code ist an.
HTML-Code ist aus.
Trackbacks are an
Pingbacks are an
Refbacks are aus

Gehe zu:

Impressum · AGB · Datenschutz · Nach oben
Alle Zeitangaben in WEZ +1. Es ist jetzt 13:17 Uhr.
Powered by vBulletin® Copyright ©2000 - 2024, Jelsoft Enterprises Ltd.
LinkBacks Enabled by vBSEO © 2011, Crawlability, Inc.
Delphi-PRAXiS (c) 2002 - 2023 by Daniel R. Wolf, 2024 by Thomas Breitkreuz