Einzelnen Beitrag anzeigen

Elvis

Registriert seit: 25. Nov 2005
Ort: München
1.909 Beiträge
 
Delphi 2010 Professional
 
#16

Re: [oracle] fehler bei "auto-increment" mit trigg

  Alt 22. Aug 2008, 14:41
Zitat von mkinzler:
Mich verwirrt das FOR EACH ROW etwas und die Tatscahe das VID nicht einmalig ist
Ohne das würde der Trigger nur auf Statementebene laufen. Also nur einmal für ein Update oder Insert, selbst wenn diese 100 Records ändern würden.
Zitat von mkinzler:
Es wird allerdings ein Insert-Trigger verwendet, der nicht auf Null prüft, also für jeden DS gelten sollte
Ist in Oracle normal. Ora hat seit Ewigkeiten eine "Returning" clause, manuelles Sequence-Gefriemel ist also seit jeher unnötig.


@Shark, was ergibt diese Abfrage? Hast du mehr als einen Trigger?
SQL-Code:
SELECT Owner
      ,Trigger_Name
FROM All_Triggers
WHERE Table_Owner = User
and Table_Name = 'TABLETEST'
Hiermit könntest du alle anderen Trigger löschen:
SQL-Code:
begin
  for this in (SELECT Owner
                     ,Trigger_Name
               FROM All_Triggers
               WHERE Table_Owner = User
               and Table_Name = 'TABLETEST'
               and not (Owner = Table_Owner
                           and Trigger_Name = 'TRIGTEST')) loop
    execute immediate 'drop trigger "' || this.Owner || '"."' || this.Trigger_Name || '"';
  end loop;
end;
Robert Giesecke
I’m a great believer in “Occam’s Razor,” the principle which says:
“If you say something complicated, I’ll slit your throat.”
  Mit Zitat antworten Zitat