sql >> Database >  >> RDS >> Oracle

forward cross-editie triggers in R12.2

Inleiding

In dit gedeelte proberen we de verwerking van tabelgegevens in R12.2 online patching uit te leggen met behulp van op Oracle-editie gebaseerde herdefinitie (forward cross edition-triggers)

Stel dat de patch de kolom Beschrijving moet wijzigen van Hoofdletters naar Hoofdletters

Tabel A heeft de kolom Bestaande Beschrijving met waarden van (rood, ORANJE...)
De vereiste van de patch is
De kolom Beschrijving heeft waarden in hoofdletters van (ROOD, ORANJE...)

Uitgevoerde stappen in Online Patching
•Maak een nieuwe kolom Description#1  in de tabel wanneer u de tabel patcht
•Maak patch Editing View Maps:
RUN – Description => Beschrijving
PATCH – Beschrijving => Beschrijving#1

De volgende stap is om  Beschrijving#1 in te vullen uit Beschrijving# wat wordt bereikt met voorwaartse triggers voor meerdere edities

Wat zijn triggers voor Forward Cross-editie?

(1)Forward cross edition-triggers zijn database-triggers die in verschillende edities werken.

(2) Forward cross edition-triggers worden gebruikt om gegevens te synchroniseren als onderdeel van het online patchproces. Een forward cross edition-trigger definieert een transformatie, wat een regel is voor het transformeren van een oude rij naar een of meer nieuwe rijen. Een oude rij is een rij met gegevens in de pre-upgrade-weergave. Een nieuwe rij is een rij met gegevens in de weergave na de upgrade. De naam van de trigger verwijst naar de trigger zelf en naar de transformatie die de trigger definieert.

(3) Wanneer de patch wordt toegepast, worden de gegevens gesynchroniseerd van hoofdletters naar hoofdletters. Nu worden de gegevenswijzigingen van patching tot cutover-tijd in een nieuwe kolom ingevuld door voorwaartse cross-editie-triggers

(4) Ze bieden de logica om gegevens tussen opslagkolommen voor run- en patchedities te synchroniseren en te transformeren

(5) Samengevat worden deze gebruikt om zowel bestaande gegevens te upgraden als doorlopende wijzigingen die plaatsvinden terwijl de run-editie in gebruik is.

(6) Hiermee kan de Run Edition-code aangeven dat een gegevensupgrade vereist is en wordt geactiveerd als reactie op een insert, update van de tabel
(7)In dit specifieke geval wordt de kolom "Beschrijving" opgewaardeerd van gemengd naar hoofdletter
De actieve toepassing ziet de kolomgegevens nog steeds als hoofdletters
Gepatchte toepassing ziet de kolomgegevens als hoofdletters

Triggerdefinitie zou zo zijn

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;

Enkele punten voor ongeveer Forward-editie-triggers

  • het zijn Crossedition-triggers die tijdelijk zijn:je laat ze vallen nadat je de geherstructureerde tabellen beschikbaar hebt gemaakt voor alle gebruikers.
  • Een crossition-trigger moet worden gedefinieerd op een tabel, niet op een weergave.
  • Een crossition-trigger moet een DML-trigger zijn (eenvoudig of samengesteld).
  • De DML-instructie in een crossition-triggerbody kan een statische SQL-instructie of een native dynamische SQL-instructie zijn
  • Een gekruiste trigger is voorwaarts, tenzij je REVERSE opgeeft. (Vooruit is optioneel.)

Ik hoop dat je de logica hierin begrijpt. Laat me je feedback weten

Gerelateerde artikelen
hoe triggers op een tafel in Oracle te controleren:bekijk hoe u de triggerstatus in Oracle kunt controleren, hoe u triggers in-/uitschakelt, hoe u de triggerdefinitie vindt, hoe u alle triggers vindt
Oracle EBS Auditing:Hoe Oracle EBS Auditing in te stellen, tabellen toe te voegen aan auditgroep, hoe kolom te selecteren voor auditing, audittrail update gelijktijdig verzoek
oracle EBS wachtwoordverloop:Nuttige vragen over het verlopen van Oracle EBS-wachtwoorden, Hoe de Forceer wachtwoordreset bij het maken van een gebruikersaccount in Oracle EBS
Oracle R12.2-architectuur:deze pagina bevat informatie over Oracle R12.2-architectuur, informatie over de technologie-stack, een belangrijk verschil met eerdere releases
https://docs .oracle.com/cd/E11882_01/appdev.112/e41502/adfns_editions.htm#ADFNS99912


  1. Geef parameter door aan de opdrachtregel van het MySQL-script

  2. Hoe de maandnaam van een datum in Oracle te krijgen

  3. overwinteren dialect voor orakel 12c

  4. Hoe Plafond() werkt in PostgreSQL