Copiar trigger

Dúvidas, dicas e truques de PL/SQL. Aqui também vão assuntos relacionados a pacotes, triggers, funções, Java-Stored Procedures, etc
Responder
netonasc
Rank: Estagiário Sênior
Rank: Estagiário Sênior
Mensagens: 13
Registrado em: Qui, 05 Mai 2016 9:10 am

Boa tarde pessoal,

Gostaria de saber como faço um PL para copiar as triggers de um banco oracle e criar em outro banco oracle.


Obrigado
spernega
Rank: DBA Pleno
Rank: DBA Pleno
Mensagens: 232
Registrado em: Ter, 19 Jun 2007 2:12 pm
Localização: São Paulo - SP

Bom dia,

Acho que não da pra copiar, talvez alguma opção de export sirva pra isso mas não conheço.

Eu geraria um script das triggers

Selecionar tudo

SET LONG 50000
SET ARRAY 2
set pagesize 0
SET HEAD OFF
SET LINESIZE 1000
Set LongChunksize 1000

SELECT '-- Status : '||STATUS,
       'Create or Replace Trigger ' ||
       DESCRIPTION||
       Decode(WHEN_CLAUSE,'','',' When '||'('||Replace(WHEN_CLAUSE,chr(10),' ')||')'),
       TRIGGER_BODY
FROM   All_Triggers
WHERE  Nvl(TABLE_NAME,'X') = Nvl(upper('&Table_Name'), Nvl(TABLE_NAME,'X') )
And    TRIGGER_NAME Like '%'||Nvl(upper('&Trigger_Name'),TRIGGER_NAME)||'%'
/

set pagesize 46
SET HEAD ON
netonasc
Rank: Estagiário Sênior
Rank: Estagiário Sênior
Mensagens: 13
Registrado em: Qui, 05 Mai 2016 9:10 am

Bom dia

Não entendi essa linha : Decode(WHEN_CLAUSE,'','',' When '||'('||Replace(WHEN_CLAUSE,chr(10),' ')||')')
Poderia me explicar ?
Avatar do usuário
adrianoturbo
Moderador
Moderador
Mensagens: 393
Registrado em: Qui, 20 Mar 2008 4:09 pm
Localização: Brasília
Adriano Alves
---Para cada problema dificil existe uma solução simples.----

Brother ,um jeito prático e fácil é usar o PL/SQL DEVELOPER ,basta encontrar a trigger que precisa ,pedi para visualizar ou editar que aparecerá o script DDL ou metadados da mesma e copiar manualmente para um bloco de notas e recria-la em qualquer base.
Responder
  • Informação