sql >> Database teknologi >  >> RDS >> Oracle

fremad cross edition triggere i R12.2

Introduktion

I dette afsnit forsøger vi at forklare håndteringen af ​​tabeldata i R12.2 online-patching ved hjælp af oracle-udgave baseret redefinition (fremad cross-edition triggere)

Antag, at patchen skal ændre kolonnen Beskrivelse fra blandet store og små bogstaver til store bogstaver

Tabel A har kolonnen Eksisterende beskrivelse har værdierne (rød, ORANGE…)
Kravet fra patchen er
Beskrivelseskolonnen har store bogstaver (RED, ORANGE…)

Trin udført i online patching
•Opret en ny kolonne Beskrivelse#1  i tabellen, når du patcher tabellen
•Opret patch Editioning Se kort:
KØR – Beskrivelse => Beskrivelse
PATCH – Beskrivelse => Beskrivelse #1

Nu er næste trin at  udfylde Beskrivelse #1  fra Beskrivelse #  hvilket opnås ved hjælp af fremadgående cross-edition-triggere

Hvad udløser Forward Cross-udgaven?

(1)Forward cross-edition triggere er databasetriggere, der virker på tværs af udgaver.

(2)Forward cross edition triggers bruges til at synkronisere data som en del af online patching-processen. En fremadrettet krydsudgaveudløser definerer en transformation, som er en regel for transformation af en gammel række til en eller flere nye rækker. En gammel række er en række data i præ-opgraderingsrepræsentationen. En ny række er en række data i repræsentationen efter opgradering. Navnet på udløseren refererer til selve udløseren og til den transformation, som udløseren definerer.

(3)Når patchen er påført, synkroniserer den dataene fra blandet store og små bogstaver. Nu er dataændringerne, der er foretaget fra patching til cutover-tid, udfyldt til en ny kolonne af fremadgående krydsudgave-triggere

(4) De giver logikken til at synkronisere og transformere data mellem kørsels- og patch-udgavers lagerkolonner

(5) Sammenfattende bruges disse til at opgradere både eksisterende data og løbende ændringer, der opstår, mens køreudgaven er i brug.

(6) Den tillader, at Run Edition-koden signalerer, at en dataopgradering er påkrævet og udløses som svar på en indsættelse, opdatering af tabellen
(7)I dette særlige tilfælde opgraderer den kolonnen "Beskrivelse" fra blandet til store bogstaver
Kørende applikation ser stadig kolonnedataene som store bogstaver
Patched Application ser kolonnedataene som store bogstaver

Trigger Definition ville være sådan her

CREATE OR REPLACE EMPLOYEE_FET
BEFORE INSERT OR UPDATE
ON EMPLOYEE
FOR EACH ROW
FORWARD CROSSEDITION
DISABLE
BEGIN
:NEW.description#1 := Upper(:NEW.description);
END EMPLOYEE_FET;

Nogle punkter for ca. Forward-udgaveudløsere

  • de er Crossedition-udløsere er midlertidige – du dropper dem, når du har gjort de omstrukturerede tabeller tilgængelige for alle brugere.
  • En crossedition-udløser skal defineres på en tabel, ikke en visning.
  • En crossedition-trigger skal være en DML-trigger (simpel eller sammensat).
  • DML-sætningen i en crossedition-udløsertekst kan enten være en statisk SQL-sætning eller en indbygget dynamisk SQL-sætning
  • En crossedition-udløser er fremadrettet, medmindre du angiver REVERSE. (Det er valgfrit at angive FORWARD.)

Håber du forstår logikken i dette. Giv mig venligst din feedback

Relaterede artikler
hvordan man kontrollerer triggere på en tabel i Oracle :Tjek hvordan man kontrollerer triggerstatus i Oracle, hvordan man aktiverer/deaktiverer trigger, hvordan man finder triggerdefinitionen, hvordan man finder alle triggere
Oracle EBS Revision :Sådan konfigureres Oracle EBS Auditing, hvordan du tilføjer tabeller i revisionsgruppe, hvordan du vælger kolonne til revision, revisionsspor opdatering samtidig anmodning
oracle EBS password expiration :Nyttige forespørgsler om oracle EBS password expiration , Sådan stopper du Gennemtving nulstilling af adgangskode ved oprettelse af brugerkonto i Oracle EBS
Oracle R12.2 Architecture :Denne side indeholder Oracle R12.2 Architecture-information, teknologistackinformation, en vigtig forskel fra tidligere udgivelser
https://docs .oracle.com/cd/E11882_01/appdev.112/e41502/adfns_editions.htm#ADFNS99912


  1. Sådan opretter du et rigtigt en-til-en-forhold i SQL Server

  2. Returner værdi fra sql-script til shell-script

  3. psycopg2.OperationalError:FATAL:ikke-understøttet frontend-protokol 1234.5679:server understøtter 2.0 til 3.0

  4. FEJL:tilladelse nægtet til relationstabelnavn på Postgres, mens du prøvede en SELECT som skrivebeskyttet bruger