AGB  ·  Datenschutz  ·  Impressum  







Anmelden
Nützliche Links
Registrieren
Zurück Delphi-PRAXiS Programmierung allgemein Datenbanken Delphi Ein paar SQL Fragen ( stored procedure )
Thema durchsuchen
Ansicht
Themen-Optionen

Ein paar SQL Fragen ( stored procedure )

Ein Thema von Sven Janssen · begonnen am 20. Jun 2005 · letzter Beitrag vom 22. Jun 2005
Antwort Antwort
Hansa

Registriert seit: 9. Jun 2002
Ort: Saarland
7.554 Beiträge
 
Delphi 8 Professional
 
#1

Re: Ein paar SQL Fragen ( stored procedure )

  Alt 21. Jun 2005, 12:56
Zitat von Sven Janssen:
Ne moment. Mein Programm soll darauf gar keine Berücksichtigung finden.
So solls auch sein.

Zitat von Sven Janssen:
Dadurch soll entschieden werden ob ein insert oder update ausgeführt werden soll.
Der Ansatz ist richtig, aber der Denkfehler ist der, daß du versuchst die Anzahl der Records zu ermitteln, anstatt ob gerade der betreffende Record schon da ist ! Dabei spielen jetzt allerdings die IDs eine entscheidende Rolle.

Sofern jeder DS eine eindeutige Nr. hat, dann brauchst Du nur...

Beispiel ist besser:

SQL-Code:
CREATE PROCEDURE PREISSP (
    ID_KUNDE INTEGER,
    VP DECIMAL(15,2),
    ID_ART INTEGER)
AS
DECLARE VARIABLE AENDERN INTEGER;
begin
  AENDERN = -1;
  select ID from PREIS where (ID_KUNDE= :ID_KUNDE) and
                             (ID_ART= :ID_ART)
  into :AENDERN;
  if (AENDERN < 0) then begin
    insert into PREIS (ID_KUNDE,ID_ART,VP)
           values (:ID_KUNDE,:ID_ART,:VP);
  end
  else begin
    update PREIS set VP=:VP
    where (ID_ART= :ID_ART) and (ID_KUNDE= :ID_KUNDE);
  end
  suspend;
end
Es geht um eine Kunden-Preistable. Hat ein Kunde für einen Artikel einen Preis, so ist die ID <> 0 => Update. Ist keiner da, dann bleibt Aendern auf -1 stehen und es wird ein Insert gemacht. Bingo !
Gruß
Hansa
  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 05:45 Uhr.
Powered by vBulletin® Copyright ©2000 - 2025, Jelsoft Enterprises Ltd.
LinkBacks Enabled by vBSEO © 2011, Crawlability, Inc.
Delphi-PRAXiS (c) 2002 - 2023 by Daniel R. Wolf, 2024-2025 by Thomas Breitkreuz