Einzelnen Beitrag anzeigen

Robert_G
(Gast)

n/a Beiträge
 
#3

Re: Problem: Oracle+Delphi und Währungs- und Datumsfelder

  Alt 6. Aug 2004, 16:44
Ich fürchte, ich kann dir beim ersten nicht wirklich helfen. Da Ora7 so alt ist, dass ich es nur von Weitem zu meiner Schulzeit zu Gesicht bekam. (Diese Bugs sind mir in neueren Versionen nch nicht untergekommen)

Zitat:
Als Tabellenformat hatte ich zuerst ftCurr...
Klingt für mich nach einem Delphi-Typ, welchen Typen hat deine Spalte in Ora?

Zitat:
Meine Frage konkret: Wie müssten die Queries aussehen die einmal einen solchen Datensatz einfügen und
zum 2. eine Query die Feststellt ob der am selben Tag schon mal ein Datensatz mit gleichem Inhalt eingefügt wurde.
Da kann ich dir helfen

Benötigt werden 100g Mehl, 4 Input- & 1 Output -Parameter (für den prim. Schlüssel)

SQL-Code:
begin
  begin
    SELECT DeinPrimKey
    INTO :o_FoundPK
    FROM DeineTable
    -- Diese Kombi von Werte darf nur einen DS finden
    -- Ansonsten wirst du einen ORA-01422 (too_many_rows) ernten ;)
    WHERE Name = :i_Name and
           WERT = :i_WERT and
           EditUser = :i_User and
           EditDate = :i_Date;
  Exception
    When NO_Data_Found then
      -- Wird nichts gefunden -> INSERT
      :o_FoundPK := 0;
  end;

  if :o_FoundPK = 0 then
    INSERT INTO DeineTabelle
      (Name
      ,WERT
      ,EditUser
      ,EditDate)
    VALUES
      (:i_Name
      ,:i_WERT
      ,:i_User
      ,:i_Date)
    -- Dein Programm wird den neuen PK brauchen ;)
    RETURNING DeinPrimKey
         INTO :o_PK;
  end if;
end;

Das ganze ist im Prinzip ein etwas hässliches Work around für den Befehl MERGE aus Ora9.
  Mit Zitat antworten Zitat