Avatar billede joki Juniormester
24. september 2013 - 12:24 Der er 4 kommentarer og
1 løsning

Trigger som opdatere felt i samme record som opdateres

Hej

Jeg forsøger at opdatere mit "Modified" felt, af typen timestamp
Jeg får ingen fejl, men heller inden opdatering

create or replace
TRIGGER TRIGGER1
AFTER UPDATE OF CLAIM_STATUS_CODE_SET ON CLAIM_STATUS
FOR EACH ROW
BEGIN
UPDATE CLAIM_STATUS SET claim_status_modified = LOCALTIMESTAMP;
END;
Avatar billede teepee Nybegynder
24. september 2013 - 12:29 #1
drop updaten og skriv i stedet:

:new.claim_status_modified = LOCALTIMESTAMP
Avatar billede joki Juniormester
24. september 2013 - 12:41 #2
Tak, men får denne ved compilering

Error(6,28): PLS-00103: Encountered the symbol "=" when expecting one of the following:    := . ( @ % ; indicator The symbol ":= was inserted before "=" to continue.

Har forsøgt med ":="
Avatar billede teepee Nybegynder
24. september 2013 - 12:52 #3
:new.claim_status_modified := LOCALTIMESTAMP;
Avatar billede joki Juniormester
24. september 2013 - 13:14 #4
Virker ikke :-(

Error: ORA-04084: cannot change NEW values for this trigger type
Avatar billede teepee Nybegynder
24. september 2013 - 13:58 #5
Skal muligvis være en before trigger

create or replace
TRIGGER TRIGGER1
BEFORE UPDATE ON CLAIM_STATUS
FOR EACH ROW
BEGIN
if :old.CLAIM_STATUS_CODE_SET != :new.CLAIM_STATUS_CODE_SET then
  :new.claim_status_modified := LOCALTIMESTAMP;
end if;
END;
Avatar billede Ny bruger Nybegynder

Din løsning...

Tilladte BB-code-tags: [b]fed[/b] [i]kursiv[/i] [u]understreget[/u] Web- og emailadresser omdannes automatisk til links. Der sættes "nofollow" på alle links.

Loading billede Opret Preview

Log ind eller opret profil

Hov!

For at kunne deltage på Computerworld Eksperten skal du være logget ind.

Det er heldigvis nemt at oprette en bruger: Det tager to minutter og du kan vælge at bruge enten e-mail, Facebook eller Google som login.

Du kan også logge ind via nedenstående tjenester