Thema: Delphi Problem mit MERGE Befehl

Einzelnen Beitrag anzeigen

Benutzerbild von s.h.a.r.k
s.h.a.r.k

Registriert seit: 26. Mai 2004
3.159 Beiträge
 
#1

Problem mit MERGE Befehl

  Alt 10. Jul 2010, 13:35
Datenbank: Oracle • Version: 9.x • Zugriff über: AnyDAC
Hallo zusammen,

ich versuche gerade folgende Query auszuführen und es klappt und klappt nicht ich habe echt keine Ahnung mehr wieso. Keine der Spalten sind in einer Art reservierte Wörter, alle Spalten sind gültig und vorhanden.
SQL-Code:
MERGE INTO "TdmUser" t1
  USING (
    SELECT "RefUserID"
    FROM "TdmUserLogin"
    WHERE "RefUserID" = -1
  ) t2
  
  ON (t1."UserID" = t2."RefUserID")
  
  WHEN MATCHED THEN
    UPDATE SET t1."UserID" = t2."RefUserID"

  WHEN NOT MATCHED THEN
    INSERT (t1."Username") VALUES ('Armin')
Das folgt als Resultat (hab die Zeilen des Querys durchnummeriert):
SQL-Code:
 Fehler beim Start in Zeile 1 in Befehl:
 1: MERGE INTO "TdmUser" t1
 2: USING (
 3: SELECT "RefUserID"
 4: FROM "TdmUserLogin"
 5: WHERE "RefUserID" = -1
 6: ) t2
 7:
 8: ON (t1."UserID" = t2."RefUserID")
 9: WHEN MATCHED THEN
10: UPDATE SET t1."UserID" = t2."RefUserID"
11: WHEN NOT MATCHED THEN
12: INSERT (t1."Username") VALUES ('Armin')
Fehler bei Befehlszeile:8 Spalte:6
Fehlerbericht:
SQL-Fehler: ORA-00904: Ungültiger Spaltenname
00904. 00000 - "%s: invalid identifier"
*Cause:
*Action:
Ich hab schon keine Ahnung was alles ausprobiert und komme einfach nicht auf eine funktionierende Lösung...
»Remember, the future maintainer is the person you should be writing code for, not the compiler.« (Nick Hodges)

Geändert von mkinzler (10. Jul 2010 um 18:38 Uhr) Grund: Code-Tag durch SQL-Tag ersetzt
  Mit Zitat antworten Zitat