Einzelnen Beitrag anzeigen

Robert_G
(Gast)

n/a Beiträge
 
#2

Re: Direct Oracle Access und Autoinkrement

  Alt 11. Okt 2004, 13:25
Setze einfach die RefrshOptioins auf roAfterInsert & roAfterUpdate.
Dadurch holt sich das DataSet die neue PK aus dem Trigger.
Das Feld selbst sollte nicht "required" sein, es wird ja durch den Trigger auf jeden Fall gesetzt.
Ein möglicher Trigger:
SQL-Code:
create or replace trigger SomeTable_PkTrig
 before INSERT or UPDATE ON SomeTable
 -- rename New & Old, for maybe they´re used as table/ column name ...
  REFERENCING New AS New$Rec Old AS Old$Rec
  for each row
declare
  -- local variable containing the new value for PK
  lPK integer;
begin
  if Inserting then
    -- get next value from sequence
    SELECT SomeTable_PkSeq.NextVal
    INTO lPK
    FROM dual;
    :New$Rec.PK := lPK;
  elsIf Updating then
    -- prevent changes of PK
    :New$Rec.PK := :Old$Rec.PK;
  end if;
end SomeTable_PkTrig;
Nachtrag:
Zitat:
(Mit TOAD oder mit einem anderen Tool)
Lieber ein anderes Tool (von Toad kriege ich allergischen Ausschlag )
  Mit Zitat antworten Zitat