Einzelnen Beitrag anzeigen

Robert_G
(Gast)

n/a Beiträge
 
#8

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

  Alt 6. Aug 2004, 17:27
Zitat von Hawkeye:
Ausserdem würde ich gerne wissen warum "meine" Query den Fehler produziert sobald das Datum ins Spiel kommt (hab ich oben gepostet).
  • 1. "DATE" hat als DatenType Vorrang vor Variablen-/Spalten-/Tabellennamen -> boom.
    Du solltest also deine Spalten Date & User sofort umbenennen!
    Das sind reservierte Keywords, die dir anscheinend durch einen Bug in Ora7 nicht sofort um die Ohren gehauen wurden. (Darauf hatte ich vorhwer nicht geachtet.
  • 2. Setze am Besten ein Leerzeichen zwischen "=" und ":Value", es ist möglich, dass die DB den Parameter nicht erkennt.


Zitat von Hawkeye:
Geht das Ganze auch ohne den Primärkey ?
Auch wenn es irgendwie komisch ist, hier: (DBAs ohne PK kommen nicht in den Himmel )
SQL-Code:
declare
  lFoundRec Integer;
begin
  begin
    SELECT 1
    INTO lFoundRec
    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
      lFoundRec := 0;
  end;

  if lFoundRec = 0 then
    INSERT INTO DeineTabelle
      (Name
      ,WERT
      ,EditUser
      ,EditDate)
    VALUES
      (:i_Name
      ,:i_WERT
      ,:i_User
      ,:i_Date);
  end if;
end;
  Mit Zitat antworten Zitat