Oracle
 sql >> Base de Dados >  >> RDS >> Oracle

gatilhos de edição cruzada para frente em R12.2

Introdução


Nesta seção, estamos tentando explicar a manipulação de dados de tabela no patch on-line R12.2 usando redefinição baseada na edição Oracle (gatilhos de edição cruzada avançada)

Suponha que o patch tenha que modificar a coluna Description de Mixed Case para Maiúsculas

A Tabela A tem a coluna Descrição Existente com valores de (vermelho, LARANJA…)
O requisito do patch é
A coluna Descrição tem valores em maiúsculas de (VERMELHO, LARANJA…)

Etapas realizadas no patch on-line
•Criar uma nova coluna Descrição#1  na tabela ao aplicar o patch na tabela
•Criar edição de patch Visualizar mapas:
RUN – Description => Description
PATCH – Descrição => Descrição#1

Agora, a próxima etapa é  preencher a Descrição#1  a partir da Descrição#  que é obtida usando acionadores de edição cruzada avançada

O que são os acionadores da edição Forward Cross?


(1) Os gatilhos de edição cruzada direta são gatilhos de banco de dados que funcionam entre as edições.

(2) Os acionadores de edição cruzada avançada são usados ​​para sincronizar dados como parte do processo de correção online. Um gatilho de edição cruzada direta define uma transformação, que é uma regra para transformar uma linha antiga em uma ou mais linhas novas. Uma linha antiga é uma linha de dados na representação pré-atualização. Uma nova linha é uma linha de dados na representação pós-atualização. O nome do gatilho refere-se ao próprio gatilho e à transformação que o gatilho define.

(3) Quando o patch é aplicado, ele sincroniza os dados de maiúsculas e minúsculas. Agora, as alterações de dados feitas desde o patch até o tempo de transição são preenchidas em uma nova coluna por acionadores de edição cruzada avançada

(4) Eles fornecem a lógica para sincronizar e transformar dados entre colunas de armazenamento de edições de execução e correção

(5) Em resumo, eles são usados ​​para atualizar os dados existentes e as alterações em andamento que ocorrem enquanto a edição de execução está em uso.

(6)Permite que o código Run Edition sinalize que uma atualização de dados é necessária e Dispara em resposta a uma inserção, atualização da tabela
(7)Neste caso em particular, atualiza a coluna “Descrição” de mista para maiúsculas
Aplicativo em execução ainda vê os dados da coluna como maiúsculas
Aplicativo com patch vê os dados da coluna como maiúsculas

A definição do gatilho seria assim
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;

Alguns pontos sobre os acionadores da edição Forward

  • são acionadores do Crossedition são temporários. Você os descarta depois de disponibilizar as tabelas reestruturadas para todos os usuários.
  • Um acionador de crossition deve ser definido em uma tabela, não em uma visualização.
  • Um acionador de crossition deve ser um acionador DML (simples ou composto).
  • A instrução DML em um corpo de acionador de crossdition pode ser uma instrução SQL estática ou uma instrução SQL dinâmica nativa
  • Um acionador de transição cruzada é para frente, a menos que você especifique REVERSE. (Especificar FORWARD é opcional.)

Espero que você entenda a lógica disso. Por favor, deixe-me saber o seu feedback

Artigos relacionados
como verificar triggers em uma tabela no oracle :Confira Como verificar o status do Trigger no Oracle, como habilitar/desabilitar o trigger, como encontrar a definição do trigger, como encontrar todos os triggers
Oracle EBS Auditoria :Como configurar o Oracle EBS Auditing, como adicionar tabelas no grupo de auditoria, como selecionar coluna para auditoria, solicitação simultânea de atualização de trilha de auditoria
expiração de senha do oracle EBS :Consultas úteis sobre expiração de senha do oracle EBS , Como parar o Forçar a redefinição de senha na criação da conta de usuário no Oracle EBS
Arquitetura Oracle R12.2:Esta página contém informações da arquitetura Oracle R12.2, informações da pilha de tecnologia, uma diferença importante das versões anteriores
https://docs .oracle.com/cd/E11882_01/appdev.112/e41502/adfns_editions.htm#ADFNS99912