Re: [oracle_br] Triggers

2010-02-28 Por tôpico Andre Santos
Evandro

5h da manhã é dureza, heim!  =)

[ ]

André


Em 27 de fevereiro de 2010 21:38, Evandro Giachetto 
evandrogiache...@gmail.com escreveu:

 Boa André.

 Você colocou muito bem.

 Realmente escrevi o texto sem pensar muito nele pois, como pode ver,
 escrevi
 às 5h da manhã.

 Realmente não faz sentido colocar em um before insert.

 Um before insert or update or delete funcionaria like a charm...

 Evandro Giachetto
 Oracle SQL Expert
 Oracle Certified Associate
 evan...@clickinterativa.com.br


 Em 27 de fevereiro de 2010 13:35, Andre Santos
 andre.psantos...@gmail.comescreveu:

 
 
  Alessandro / Evandro
 
  Há um problema com essa abordagem: quando o conteúdo dos campos (versões
  new ou old) for nulo (NULL).
  Neste caso o operador de diferente (!= ou ) não vai retornar o
 resultado
  desejado.
  Claro que isso se aplica nas colunas que aceitam nulo. ;)
 
  Teria de ser algo como:
 
  IF :NEW.campo1  :OLD.campo1
  OR ( :NEW.campo1 IS NULL AND :OLD.campo1 IS NOT NULL )
  OR ( :NEW.campo1 IS NOT NULL AND :OLD.campo1 IS NULL )
  THEN
  ...
  END IF;
 
  Outro detalhe: num trigger do tipo BEFORE INSERT não faz sentido
  comparar,
  pois os valores OLD sempre serão NULL.
 
  Poderia ser um trigger do tipo BEFORE INSERT OR UPDATE OR DELETE e,
  dentro
  do bloco PL/SQL, fazer uso de:
 
  IF UPDATING THEN
  ...
  END IF;
 
  Você também pode especificar o campo no verificador UPDATING, para saber
 se
  o campo foi alterado:
 
  IF UPDATING('campo1') THEN
  ...
  END IF;
  IF UPDATING('campo2') THEN
  ...
  END IF;
 
  O único problema de usar UPDATING('campo') é que não se sabe se o campo
 foi
  alterado para o mesmo valor.
  Por exemplo, se o campo1 = 'A' e o comando for:
  UPDATE teste SET campo1 = 'A' ...
  Para a atualização acima, mesmo não tendo mudado de fato (trocou seis
 por
  meia-dúzia... rs) o verificador UPDATING('campo1') retorna verdadeiro.
 
  Dê uma olhada na solução apresentada no Ask Tom:
 
 
 
 http://asktom.oracle.com/pls/apex/f?p=100:11:0P11_QUESTION_ID:59412348055
 
  [ ]'s
 
  André
 
  Em 27 de fevereiro de 2010 05:38, Evandro Giachetto 
  evandrogiache...@gmail.com evandrogiachetto%40gmail.com escreveu:
 
 
   trigger do tipo before insert.
  
   Você pode testar da seguinte forma:
  
   if :new.campo1 != :old.campo1 then
   ...
   end if;
  
   if :new.campo2 != :old.campo2 then
   ...
   end if
  
   Att.
  
   Evandro Giachetto
   Oracle SQL Expert
   Oracle Certified Associate
   evan...@clickinterativa.com.br evandro%40clickinterativa.com.br
  
  
   Em 26 de fevereiro de 2010 17:59, alessandro
   alessan...@micromap.com.br alessandro%40micromap.com.brescreveu:
  
   
   
Boa Tarde pessoal
   
Gostaria de saber se em uma trigger dá p/ saber qual campo está
   disparando
esta trigger, por exemplo tenho uma tabela com +/- 30 campos e eu
 quero
   que
qdo algum campo for alterado ele me mostre qual foi o campo que foi
   alterado
p/ que eu gravei este campo alterado em uma tabela de logs.
Desde já muito obrigado.
   
[As partes desta mensagem que não continham texto foram removidas]
   
   
   
  
  
   [As partes desta mensagem que não continham texto foram removidas]
  
  
  
   
 
  
  
   --
   Atenção! As mensagens do grupo ORACLE_BR são de acesso público e de
   inteira responsabilidade de seus remetentes.
   Acesse: http://www.mail-archive.com/oracle_br@yahoogrupos.com.br/
  
   --
   Apostilas » Dicas e Exemplos » Função » Mundo Oracle » Package »
  Procedure
   » Scripts » Tutoriais - O GRUPO ORACLE_BR TEM SEU PROPRIO ESPAÇO!
 VISITE:
   http://www.oraclebr.com.br/
   --
   Links do Yahoo! Grupos
 
  
  
  
 
  [As partes desta mensagem que não continham texto foram removidas]
 
 
 


 [As partes desta mensagem que não continham texto foram removidas]



 


 --
 Atenção! As mensagens do grupo ORACLE_BR são de acesso público e de
 inteira responsabilidade de seus remetentes.
 Acesse: http://www.mail-archive.com/oracle_br@yahoogrupos.com.br/

 --
 Apostilas » Dicas e Exemplos » Função » Mundo Oracle » Package » Procedure
 » Scripts » Tutoriais - O GRUPO ORACLE_BR TEM SEU PROPRIO ESPAÇO! VISITE:
 http://www.oraclebr.com.br/
 
 Links do Yahoo! Grupos





[As partes desta mensagem que não continham texto foram removidas]



Re: [oracle_br] Triggers

2010-02-27 Por tôpico Evandro Giachetto
trigger do tipo before insert.

Você pode testar da seguinte forma:

if :new.campo1 != :old.campo1 then
  ...
end if;

if :new.campo2 != :old.campo2 then
  ...
end if

Att.

Evandro Giachetto
Oracle SQL Expert
Oracle Certified Associate
evan...@clickinterativa.com.br


Em 26 de fevereiro de 2010 17:59, alessandro
alessan...@micromap.com.brescreveu:



 Boa Tarde pessoal

 Gostaria de saber se em uma trigger dá p/ saber qual campo está disparando
 esta trigger, por exemplo tenho uma tabela com +/- 30 campos e eu quero que
 qdo algum campo for alterado ele me mostre qual foi o campo que foi alterado
 p/ que eu gravei este campo alterado em uma tabela de logs.
 Desde já muito obrigado.

 [As partes desta mensagem que não continham texto foram removidas]

  



[As partes desta mensagem que não continham texto foram removidas]





--
Atenção! As mensagens do grupo ORACLE_BR são de acesso público e de inteira 
responsabilidade de seus remetentes.
Acesse: http://www.mail-archive.com/oracle_br@yahoogrupos.com.br/ 
--
Apostilas » Dicas e Exemplos » Função » Mundo Oracle » Package » Procedure » 
Scripts » Tutoriais - O GRUPO ORACLE_BR TEM SEU PROPRIO ESPAÇO! VISITE: 
http://www.oraclebr.com.br/  

 Links do Yahoo! Grupos

* Para visitar o site do seu grupo na web, acesse:
http://br.groups.yahoo.com/group/oracle_br/

* Para sair deste grupo, envie um e-mail para:
oracle_br-unsubscr...@yahoogrupos.com.br

* O uso que você faz do Yahoo! Grupos está sujeito aos:
http://br.yahoo.com/info/utos.html




Re: [oracle_br] Triggers

2010-02-27 Por tôpico Andre Santos
Alessandro / Evandro

Há um problema com essa abordagem: quando o conteúdo dos campos (versões
new ou old) for nulo (NULL).
Neste caso o operador de diferente (!= ou ) não vai retornar o resultado
desejado.
Claro que isso se aplica nas colunas que aceitam nulo.  ;)

Teria de ser algo como:

   IF :NEW.campo1  :OLD.campo1
   OR ( :NEW.campo1 IS NULL AND :OLD.campo1 IS NOT NULL )
   OR ( :NEW.campo1 IS NOT NULL AND :OLD.campo1 IS NULL )
   THEN
  ...
   END IF;

Outro detalhe: num trigger do tipo BEFORE INSERT não faz sentido comparar,
pois os valores OLD sempre serão NULL.

Poderia ser um trigger do tipo BEFORE INSERT OR UPDATE OR DELETE e, dentro
do bloco PL/SQL, fazer uso de:

   IF UPDATING THEN
  ...
   END IF;

Você também pode especificar o campo no verificador UPDATING, para saber se
o campo foi alterado:

   IF UPDATING('campo1') THEN
  ...
   END IF;
   IF UPDATING('campo2') THEN
  ...
   END IF;

O único problema de usar UPDATING('campo') é que não se sabe se o campo foi
alterado para o mesmo valor.
Por exemplo, se o campo1 = 'A' e o comando for:
   UPDATE teste SET campo1 = 'A' ...
Para a atualização acima, mesmo não tendo mudado de fato (trocou seis por
meia-dúzia... rs) o verificador UPDATING('campo1') retorna verdadeiro.

Dê uma olhada na solução apresentada no Ask Tom:

http://asktom.oracle.com/pls/apex/f?p=100:11:0P11_QUESTION_ID:59412348055

[ ]'s

André



Em 27 de fevereiro de 2010 05:38, Evandro Giachetto 
evandrogiache...@gmail.com escreveu:

 trigger do tipo before insert.

 Você pode testar da seguinte forma:

 if :new.campo1 != :old.campo1 then
  ...
 end if;

 if :new.campo2 != :old.campo2 then
  ...
 end if

 Att.

 Evandro Giachetto
 Oracle SQL Expert
 Oracle Certified Associate
 evan...@clickinterativa.com.br


 Em 26 de fevereiro de 2010 17:59, alessandro
 alessan...@micromap.com.brescreveu:

 
 
  Boa Tarde pessoal
 
  Gostaria de saber se em uma trigger dá p/ saber qual campo está
 disparando
  esta trigger, por exemplo tenho uma tabela com +/- 30 campos e eu quero
 que
  qdo algum campo for alterado ele me mostre qual foi o campo que foi
 alterado
  p/ que eu gravei este campo alterado em uma tabela de logs.
  Desde já muito obrigado.
 
  [As partes desta mensagem que não continham texto foram removidas]
 
 
 


 [As partes desta mensagem que não continham texto foram removidas]



 


 --
 Atenção! As mensagens do grupo ORACLE_BR são de acesso público e de
 inteira responsabilidade de seus remetentes.
 Acesse: http://www.mail-archive.com/oracle_br@yahoogrupos.com.br/

 --
 Apostilas » Dicas e Exemplos » Função » Mundo Oracle » Package » Procedure
 » Scripts » Tutoriais - O GRUPO ORACLE_BR TEM SEU PROPRIO ESPAÇO! VISITE:
 http://www.oraclebr.com.br/
 
 Links do Yahoo! Grupos





[As partes desta mensagem que não continham texto foram removidas]



Re: [oracle_br] Triggers

2010-02-27 Por tôpico Evandro Giachetto
Boa André.

Você colocou muito bem.

Realmente escrevi o texto sem pensar muito nele pois, como pode ver, escrevi
às 5h da manhã.

Realmente não faz sentido colocar em um before insert.

Um before insert or update or delete funcionaria like a charm...

Evandro Giachetto
Oracle SQL Expert
Oracle Certified Associate
evan...@clickinterativa.com.br


Em 27 de fevereiro de 2010 13:35, Andre Santos
andre.psantos...@gmail.comescreveu:



 Alessandro / Evandro

 Há um problema com essa abordagem: quando o conteúdo dos campos (versões
 new ou old) for nulo (NULL).
 Neste caso o operador de diferente (!= ou ) não vai retornar o resultado
 desejado.
 Claro que isso se aplica nas colunas que aceitam nulo. ;)

 Teria de ser algo como:

 IF :NEW.campo1  :OLD.campo1
 OR ( :NEW.campo1 IS NULL AND :OLD.campo1 IS NOT NULL )
 OR ( :NEW.campo1 IS NOT NULL AND :OLD.campo1 IS NULL )
 THEN
 ...
 END IF;

 Outro detalhe: num trigger do tipo BEFORE INSERT não faz sentido
 comparar,
 pois os valores OLD sempre serão NULL.

 Poderia ser um trigger do tipo BEFORE INSERT OR UPDATE OR DELETE e,
 dentro
 do bloco PL/SQL, fazer uso de:

 IF UPDATING THEN
 ...
 END IF;

 Você também pode especificar o campo no verificador UPDATING, para saber se
 o campo foi alterado:

 IF UPDATING('campo1') THEN
 ...
 END IF;
 IF UPDATING('campo2') THEN
 ...
 END IF;

 O único problema de usar UPDATING('campo') é que não se sabe se o campo foi
 alterado para o mesmo valor.
 Por exemplo, se o campo1 = 'A' e o comando for:
 UPDATE teste SET campo1 = 'A' ...
 Para a atualização acima, mesmo não tendo mudado de fato (trocou seis por
 meia-dúzia... rs) o verificador UPDATING('campo1') retorna verdadeiro.

 Dê uma olhada na solução apresentada no Ask Tom:


 http://asktom.oracle.com/pls/apex/f?p=100:11:0P11_QUESTION_ID:59412348055

 [ ]'s

 André

 Em 27 de fevereiro de 2010 05:38, Evandro Giachetto 
 evandrogiache...@gmail.com evandrogiachetto%40gmail.com escreveu:


  trigger do tipo before insert.
 
  Você pode testar da seguinte forma:
 
  if :new.campo1 != :old.campo1 then
  ...
  end if;
 
  if :new.campo2 != :old.campo2 then
  ...
  end if
 
  Att.
 
  Evandro Giachetto
  Oracle SQL Expert
  Oracle Certified Associate
  evan...@clickinterativa.com.br evandro%40clickinterativa.com.br
 
 
  Em 26 de fevereiro de 2010 17:59, alessandro
  alessan...@micromap.com.br alessandro%40micromap.com.brescreveu:
 
  
  
   Boa Tarde pessoal
  
   Gostaria de saber se em uma trigger dá p/ saber qual campo está
  disparando
   esta trigger, por exemplo tenho uma tabela com +/- 30 campos e eu quero
  que
   qdo algum campo for alterado ele me mostre qual foi o campo que foi
  alterado
   p/ que eu gravei este campo alterado em uma tabela de logs.
   Desde já muito obrigado.
  
   [As partes desta mensagem que não continham texto foram removidas]
  
  
  
 
 
  [As partes desta mensagem que não continham texto foram removidas]
 
 
 
  

 
 
  --
  Atenção! As mensagens do grupo ORACLE_BR são de acesso público e de
  inteira responsabilidade de seus remetentes.
  Acesse: http://www.mail-archive.com/oracle_br@yahoogrupos.com.br/
 
  --
  Apostilas » Dicas e Exemplos » Função » Mundo Oracle » Package »
 Procedure
  » Scripts » Tutoriais - O GRUPO ORACLE_BR TEM SEU PROPRIO ESPAÇO! VISITE:
  http://www.oraclebr.com.br/
  --
  Links do Yahoo! Grupos

 
 
 

 [As partes desta mensagem que não continham texto foram removidas]

  



[As partes desta mensagem que não continham texto foram removidas]





--
Atenção! As mensagens do grupo ORACLE_BR são de acesso público e de inteira 
responsabilidade de seus remetentes.
Acesse: http://www.mail-archive.com/oracle_br@yahoogrupos.com.br/ 
--
Apostilas » Dicas e Exemplos » Função » Mundo Oracle » Package » Procedure » 
Scripts » Tutoriais - O GRUPO ORACLE_BR TEM SEU PROPRIO ESPAÇO! VISITE: 
http://www.oraclebr.com.br/  

 Links do Yahoo! Grupos

* Para visitar o site do seu grupo na web, acesse:
http://br.groups.yahoo.com/group/oracle_br/

* Para sair deste grupo, envie um e-mail para:
oracle_br-unsubscr...@yahoogrupos.com.br

* O uso que você faz do Yahoo! Grupos está sujeito aos:
http://br.yahoo.com/info/utos.html




[oracle_br] Triggers para replicar inserts

2008-02-20 Por tôpico Anderson
Olá pessoal.

Espero que alguém possa me ajudar.

Oracle 10gR2, WinXPSP2, Linux RH4E.

Estamos migrando gradativamente um esquema que é base para vários
outros esquemas.

As tabelas que referenciam este esquema (antigo) vão passar a
referenciar o novo esquema, gradativamente, porque são muitos esquemas
(um para cada aplicação).

Bem, eu preciso replicar as alterações feitas em um esquema no outro
(e vice-versa).

Por exemplo, eu faço um insert no esquema 1 e este insert tem que ser
replicado no esquema 2.

Se é feito um insert no esquema 2 e este insert tem que ser replicado
no esquema 1.

O que me veio à cabeça foi o uso de triggers after insert nas tabelas
dos dois esquemas, mas há o problema do código redundante, onde o
insert no esquema 1 dispara a trigger para fazer o insert no esquema 2
que dispara a trigger para fazer o insert no esquema 1, e por aí vai.

Bem, isso o Oracle não deixa, dá erro de cara (ORA-04091, ORA-06512
and ORA-04088).

Preciso contornar isso de alguma forma.
Eu pensei em usar contexts para identificar as sessões, mas ainda não
consegui.

Alguém já passou por algo semelhante ou tem alguma idéia?

Anderson



Res: RES: [oracle_br] Triggers de replicação .

2007-05-23 Por tôpico Celso Henrique Souza
tente inativar a trigger
 
Celso Henrique O. Souza



- Mensagem original 
De: Fabio Santos [EMAIL PROTECTED]
Para: oracle_br@yahoogrupos.com.br
Enviadas: Terça-feira, 22 de Maio de 2007 19:36:03
Assunto: RES: [oracle_br] Triggers de replicação.

pelo o que entendi, vc quer manter sempre duas tabelas iguais. se elas
serao sempre as duas iguais, porque existir as duas e nao apenas uma?
 

-Mensagem original-
De: oracle_br@yahoogrupos.com.br [mailto:[EMAIL PROTECTED]
Em nome de Eduardo
Enviada em: terça-feira, 22 de maio de 2007 17:40
Para: oracle_br@yahoogrupos.com.br
Assunto: [oracle_br] Triggers de replicação.



Olá galera,

Tenho 1 triggers q replica dados de uma tabela p/ outra. Tipo tabela1 p/
tabela2.
Tenho q fazer o inverso agora, mas trava tudo. Com certeza é pq uma
trigger dispara a outra. Como resolvo isso ?

Aguarda a ajuda dos amigos...

Edu...

[As partes desta mensagem que não continham texto foram removidas]



 



[As partes desta mensagem que não continham texto foram removidas]



Apostilas » Dicas e Exemplos » Funções » Mundo Oracle » Package » Procedure » 
Scripts » Tutoriais acesse: http://www.oraclebr.com.br/codigo/ListaCodigo.php 
--
Atenção! As mensagens do grupo ORACLE_BR são de acesso público e de inteira 
responsabilidade de seus remetentes.
Acesse: http://www.mail-archive.com/oracle_br@yahoogrupos.com.br/ 
--
O GRUPO ORACLE_BR TEM SEU PROPRIO ESPAÇO! VISITE: http://www.oraclebr.com.br/  

  
Links do Yahoo! Grupos

 






__
Fale com seus amigos  de graça com o novo Yahoo! Messenger 
http://br.messenger.yahoo.com/ 

[As partes desta mensagem que não continham texto foram removidas]



Re: RES: [oracle_br] Triggers de replicação.

2007-05-23 Por tôpico Eduardo de Paula
um dblink não resolve esse tipo de problema?

On 5/23/07, Eduardo [EMAIL PROTECTED] wrote:

   É que é uma tabela de clientes, e tenho que ter as duas identicas nas
 duas instancias diferentes e não há a possibilidade de ter uma unica tabela.

 - Original Message -
 From: Celso Henrique Souza
 To: oracle_br@yahoogrupos.com.br oracle_br%40yahoogrupos.com.br
 Sent: Wednesday, May 23, 2007 9:00 AM
 Subject: Res: RES: [oracle_br] Triggers de replicação.

 tente inativar a trigger

 Celso Henrique O. Souza

 - Mensagem original 
 De: Fabio Santos [EMAIL PROTECTED] santos%40brassites.com.br
 Para: oracle_br@yahoogrupos.com.br oracle_br%40yahoogrupos.com.br
 Enviadas: Terça-feira, 22 de Maio de 2007 19:36:03
 Assunto: RES: [oracle_br] Triggers de replicação.

 pelo o que entendi, vc quer manter sempre duas tabelas iguais. se elas
 serao sempre as duas iguais, porque existir as duas e nao apenas uma?

 -Mensagem original-
 De: oracle_br@yahoogrupos.com.br oracle_br%40yahoogrupos.com.br [mailto:
 oracle_br@yahoogrupos.com.br oracle_br%40yahoogrupos.com.br]
 Em nome de Eduardo
 Enviada em: terça-feira, 22 de maio de 2007 17:40
 Para: oracle_br@yahoogrupos.com.br oracle_br%40yahoogrupos.com.br
 Assunto: [oracle_br] Triggers de replicação.

 Olá galera,

 Tenho 1 triggers q replica dados de uma tabela p/ outra. Tipo tabela1 p/
 tabela2.
 Tenho q fazer o inverso agora, mas trava tudo. Com certeza é pq uma
 trigger dispara a outra. Como resolvo isso ?

 Aguarda a ajuda dos amigos...

 Edu...

 [As partes desta mensagem que não continham texto foram removidas]

 [As partes desta mensagem que não continham texto foram removidas]

 Apostilas » Dicas e Exemplos » Funções » Mundo Oracle » Package »
 Procedure » Scripts » Tutoriais acesse:
 http://www.oraclebr.com.br/codigo/ListaCodigo.php
 --
 Atenção! As mensagens do grupo ORACLE_BR são de acesso público e de
 inteira responsabilidade de seus remetentes.
 Acesse: http://www.mail-archive.com/oracle_br@yahoogrupos.com.br/
 --
 O GRUPO ORACLE_BR TEM SEU PROPRIO ESPAÇO! VISITE:
 http://www.oraclebr.com.br/
 --
 Links do Yahoo! Grupos

 __
 Fale com seus amigos de graça com o novo Yahoo! Messenger
 http://br.messenger.yahoo.com/

 [As partes desta mensagem que não continham texto foram removidas]

 [As partes desta mensagem que não continham texto foram removidas]

  




-- 
Os erros podem ser transformados em acertos quando com eles se aprende. Não
existe a segurança do acerto eterno.


[As partes desta mensagem que não continham texto foram removidas]



RES: [SPAM] Re: RES: [oracle_br] Triggers de replicação.

2007-05-23 Por tôpico Fabio Santos
Se voce diz que não há possibilidade de ter apenas uma entao vou
pressupor desse ponto.

Bom, se você puder alterar a estrutura da tabela, pode fazer o seguinte:
- Crie um campo nomeCampo nas duas tabelas. Esse campo irá dizer se o
conteúdo é original de uma instancia ou da outra.
Na trigger, vc verifica: 
IF nomeCampo IS NULL THEN
   -- insere na outra instancia
   insert into outrainstancia.tabela (..., nomeCampo) values (...,
'instanciaX')
ELSE
   -- nao insere na outra instancia
END IF;

assim vc só irá inserir dados que não venham a pedido da trigger.

Outra forma se tiver chave primaria:

- faz uma query e verifica se o registro já existe. Se não existir,
inclui.

Lembre que todos esses tratamentos provavelmente também existir para
delete e update.




Abraços, 

Fabio Santos
MSN: [EMAIL PROTECTED]
Tel (47) 9601-4524
--
Estúdio Interativo
http://www.estudiointerativo.com
[EMAIL PROTECTED]
Tel: (47) 3028-8821
 (21) 4063-8634

-Mensagem original-
De: oracle_br@yahoogrupos.com.br [mailto:[EMAIL PROTECTED]
Em nome de Eduardo
Enviada em: quarta-feira, 23 de maio de 2007 10:55
Para: oracle_br@yahoogrupos.com.br
Assunto: [SPAM] Re: RES: [oracle_br] Triggers de replicação.


É que é uma tabela de clientes, e tenho que ter as duas identicas nas
duas instancias diferentes e não há a possibilidade de ter uma unica
tabela.

- Original Message - 
From: Celso Henrique Souza 
To: oracle_br@yahoogrupos.com.br 
Sent: Wednesday, May 23, 2007 9:00 AM
Subject: Res: RES: [oracle_br] Triggers de replicação.

tente inativar a trigger

Celso Henrique O. Souza

- Mensagem original 
De: Fabio Santos [EMAIL PROTECTED]
Para: oracle_br@yahoogrupos.com.br
Enviadas: Terça-feira, 22 de Maio de 2007 19:36:03
Assunto: RES: [oracle_br] Triggers de replicação.

pelo o que entendi, vc quer manter sempre duas tabelas iguais. se elas
serao sempre as duas iguais, porque existir as duas e nao apenas uma?

-Mensagem original-
De: oracle_br@yahoogrupos.com.br [mailto:[EMAIL PROTECTED]
Em nome de Eduardo
Enviada em: terça-feira, 22 de maio de 2007 17:40
Para: oracle_br@yahoogrupos.com.br
Assunto: [oracle_br] Triggers de replicação.

Olá galera,

Tenho 1 triggers q replica dados de uma tabela p/ outra. Tipo tabela1 p/
tabela2.
Tenho q fazer o inverso agora, mas trava tudo. Com certeza é pq uma
trigger dispara a outra. Como resolvo isso ?

Aguarda a ajuda dos amigos...

Edu...

[As partes desta mensagem que não continham texto foram removidas]

[As partes desta mensagem que não continham texto foram removidas]

Apostilas » Dicas e Exemplos » Funções » Mundo Oracle » Package »
Procedure » Scripts » Tutoriais acesse:
http://www.oraclebr.com.br/codigo/ListaCodigo.php 
--
Atenção! As mensagens do grupo ORACLE_BR são de acesso público e de
inteira responsabilidade de seus remetentes.
Acesse: http://www.mail-archive.com/oracle_br@yahoogrupos.com.br/ 
--
O GRUPO ORACLE_BR TEM SEU PROPRIO ESPAÇO! VISITE:
http://www.oraclebr.com.br/ 
-- 
Links do Yahoo! Grupos

__
Fale com seus amigos de graça com o novo Yahoo! Messenger 
http://br.messenger.yahoo.com/ 

[As partes desta mensagem que não continham texto foram removidas]

[As partes desta mensagem que não continham texto foram removidas]


 




RE: RES: [oracle_br] Triggers de replicaçã o.

2007-05-23 Por tôpico FERNANDES Marco A SOFTTEK
Eduardo,
seu caso é bem crítico... duas tabelas iguais, as duas online,
as duas recebem comandos INS, DEL, UPD... complicado.
E ainda não pode unificar ! piorou !
 
Uma coisa é certa ! trigger fazendo atualização cruzada
não vai funcionar mesmo !!! sem dúvida !
 
O ideal seria centralizar a atualização ! atualizar apenas em
uma delas e replicar pra outra... minimiza muito o trampo !
 
Agora, solução sempre tem ! opção sempre tem ! e cada caso
se resolve de forma específica... respostas genéricas apenas dão
uma noção pra onde vc deve atirar.
 
Uma opção seria, cria um terceira tabela que controla a atualização.
Ou seja, nela vc coloca apenas a chave e uma ou duas colunas de
controle. E coloca um processo à parte, pode ser um job ou outra
coisa, que rode de tempos em tempos (sem muita defasagem) pra
ler a tabela de controle e atualizar as tabelas.
Nessa tabela de controle vc colocaria além da chave de atualização,
uma coluna com o controle, tipo um flag (bandeirinha) que sinaliza
em qual sentido deve ser a atualização e se está pendente ou realizada.
Por exemplo, vc cria uma coluna CHAR(1) com uma espécie de protocolo:
A - atualizar tabela 1 com dados da tabela 2, status pendente
B - atualizar tabela 2 com dados da tabela 1, status pendente
C - atualizada tabela 1 com dados da tabela 2, status realizado
D - atualizada tabela 2 com dados da tabela 1, status realizado
sendo que este últimos poderia não existir e nesse caso vc apenas apagaria
estes registros, ou seja, se existe é pq está pendente... caso contrário
já apagaria da tabela... tudo depende se vc vai precisar de auditoria e
histórico das transações.
 
Espero ter dado mais um pouco de luz ! risos
 
Abraço,
Marco.



From: oracle_br@yahoogrupos.com.br [mailto:[EMAIL PROTECTED] On Behalf Of PUB: 
Eduardo
Sent: quarta-feira, 23 de maio de 2007 10:55
To: oracle_br@yahoogrupos.com.br
Subject: Re: RES: [oracle_br] Triggers de replicação.



É que é uma tabela de clientes, e tenho que ter as duas identicas nas duas 
instancias diferentes e não há a possibilidade de ter uma unica tabela.

- Original Message - 
From: Celso Henrique Souza 
To: oracle_br@yahoogrupos.com.br mailto:oracle_br%40yahoogrupos.com.br  
Sent: Wednesday, May 23, 2007 9:00 AM
Subject: Res: RES: [oracle_br] Triggers de replicação.

tente inativar a trigger

Celso Henrique O. Souza

- Mensagem original 
De: Fabio Santos [EMAIL PROTECTED] mailto:santos%40brassites.com.br 
Para: oracle_br@yahoogrupos.com.br mailto:oracle_br%40yahoogrupos.com.br 
Enviadas: Terça-feira, 22 de Maio de 2007 19:36:03
Assunto: RES: [oracle_br] Triggers de replicação.

pelo o que entendi, vc quer manter sempre duas tabelas iguais. se elas
serao sempre as duas iguais, porque existir as duas e nao apenas uma?

-Mensagem original-
De: oracle_br@yahoogrupos.com.br mailto:oracle_br%40yahoogrupos.com.br  
[mailto:oracle_br@yahoogrupos.com.br mailto:oracle_br%40yahoogrupos.com.br ]
Em nome de Eduardo
Enviada em: terça-feira, 22 de maio de 2007 17:40
Para: oracle_br@yahoogrupos.com.br mailto:oracle_br%40yahoogrupos.com.br 
Assunto: [oracle_br] Triggers de replicação.

Olá galera,

Tenho 1 triggers q replica dados de uma tabela p/ outra. Tipo tabela1 p/
tabela2.
Tenho q fazer o inverso agora, mas trava tudo. Com certeza é pq uma
trigger dispara a outra. Como resolvo isso ?

Aguarda a ajuda dos amigos...

Edu...

[As partes desta mensagem que não continham texto foram removidas]

[As partes desta mensagem que não continham texto foram removidas]

Apostilas » Dicas e Exemplos » Funções » Mundo Oracle » Package » Procedure » 
Scripts » Tutoriais acesse: http://www.oraclebr.com.br/codigo/ListaCodigo.php 
http://www.oraclebr.com.br/codigo/ListaCodigo.php  
--
Atenção! As mensagens do grupo ORACLE_BR são de acesso público e de inteira 
responsabilidade de seus remetentes.
Acesse: http://www.mail-archive.com/oracle_br@yahoogrupos.com.br/ 
http://www.mail-archive.com/oracle_br@yahoogrupos.com.br/  
--
O GRUPO ORACLE_BR TEM SEU PROPRIO ESPAÇO! VISITE: http://www.oraclebr.com.br/ 
http://www.oraclebr.com.br/  
-- 
Links do Yahoo! Grupos

__
Fale com seus amigos de graça com o novo Yahoo! Messenger 
http://br.messenger.yahoo.com/ http://br.messenger.yahoo.com/  

[As partes desta mensagem que não continham texto foram removidas]

[As partes desta mensagem que não continham texto foram removidas]



 


[As partes desta mensagem que não continham texto foram removidas]



Re: RES: [oracle_br] Triggers de replicação.

2007-05-23 Por tôpico jlchiappa
Bota complexo nisso, Fernandes Eduardo, pra vc entender, pense 
por exemplo no seguinte caso, ao mesmo tempo o banco A pede um update 
na tabela e o banco B pede um delete, COMO que vc vai permitir que 
ambos executem são coisas EXCLUDENTES, vc não pode updatear o que 
está sendo deletado, é óbvio... Conflitos desse tipo é o que torna 
replicação onde ambos os lados podem fazer DMLs algo muuuito 
complexo - a tua abordagem de triggers é realmente, completamente 
ilógica, veja só : o banco A tem um trigger de INSERT na tabela T que 
faz insert na tabela  T do banco B, E no banco B temos trigger que 
faz INSERT no A - ora, quando alguém mandar um insert no banco A 
(digamos), a trigger disparou e enviou um comando INSERT no B, ocorre 
que B recebendo o insert a trigger de insert dispara , que manda um 
INSERT no A, trigger do A dispara , manda INSERT no B, trigger N 
dispara Sacou a MONSTRUOSIDADE que vc tem feita aí ??? Só podia 
MESMO dar errado, vc tem em mãos uma lógica SEM A MENOR lógica...
 Bem, já que vc está escrevendo algo eu SUPONHO que :
 
 - vc tem dblink entre os bancos (óbvio)
 - hoje as duas tabelas são EXATAMENTE iguais
 -  e que as features de replicação nativas do banco (inclusive 
replicação master/master) não podem ser usadas por algum motivo
 
 OBS : E vc diz que não pode ter uma tabela só (o que seria *** MESMO 
*** o mais fácil, eu tentaria MESMO batalhar por isso, mostre e 
explique pro teu cliente a complicação que é), vamos assumir que seja 
assim. ..
 
 Muito bem, nesse cenário de duas tabs, vc tem duas possibilidades 
principais, SERIALIZAÇÃO e ROTINA DE ATUALIZAÇÂO.  Serialização seria 
algo do tipo : o dono das tabelas NÃO DÁ grants de 
INSERT/UPDATE/DELETE pra ninguém, ao invés da GRANT de execute em 
APIs (rotinas PL/SQL) apropriadas (uma pra INSERT, outra pra UPDATE e 
outra pra DELETE, digamos), e nessas rotinas antes de executar o DML 
vc manda um SELECT FROM tabela FOR UPDATE no registro da tabela local 
que está sendo alterado E um SELECT FROM [EMAIL PROTECTED] FOR 
UPDATE na tabela remota para esse mesmo registro, se conseguiu lockar 
ambos blz, vc manda o DML no registro local E no registro do bd 
remoto, se não conseguiu locar ambos os registros vc manda um erro 
pro usuário e manda o usuário pesquisar de novo daqui a pouco, 
trazendo assim a info refrescada, E refazer a operação passando os 
eventuais novos valores lidos pra API, e assim vai até conseguir.
 Já Atualização é a mais complexa, é o que outros colegas sugeriram, 
seria vc ter algum tipo de LOG das operações (numa outra tabela, num 
arquivo, via FLAG, o que for), log esse sequencial e disponível a 
AMBOS os bancos, que a cada período (no fim do dia, talvez) seria 
aplicado com a aplicação OFFLINE.
 
 []s
 
   Chiappa
   
--- Em oracle_br@yahoogrupos.com.br, FERNANDES Marco ASOFTTEK 
[EMAIL PROTECTED] escreveu

 Eduardo,
 seu caso é bem crítico... duas tabelas iguais, as duas online,
 as duas recebem comandos INS, DEL, UPD... complicado.
 E ainda não pode unificar ! piorou !
  
 Uma coisa é certa ! trigger fazendo atualização cruzada
 não vai funcionar mesmo !!! sem dúvida !
  
 O ideal seria centralizar a atualização ! atualizar apenas em
 uma delas e replicar pra outra... minimiza muito o trampo !
  
 Agora, solução sempre tem ! opção sempre tem ! e cada caso
 se resolve de forma específica... respostas genéricas apenas dão
 uma noção pra onde vc deve atirar.
  
 Uma opção seria, cria um terceira tabela que controla a atualização.
 Ou seja, nela vc coloca apenas a chave e uma ou duas colunas de
 controle. E coloca um processo à parte, pode ser um job ou outra
 coisa, que rode de tempos em tempos (sem muita defasagem) pra
 ler a tabela de controle e atualizar as tabelas.
 Nessa tabela de controle vc colocaria além da chave de atualização,
 uma coluna com o controle, tipo um flag (bandeirinha) que sinaliza
 em qual sentido deve ser a atualização e se está pendente ou 
realizada.
 Por exemplo, vc cria uma coluna CHAR(1) com uma espécie de 
protocolo:
 A - atualizar tabela 1 com dados da tabela 2, status pendente
 B - atualizar tabela 2 com dados da tabela 1, status pendente
 C - atualizada tabela 1 com dados da tabela 2, status realizado
 D - atualizada tabela 2 com dados da tabela 1, status realizado
 sendo que este últimos poderia não existir e nesse caso vc apenas 
apagaria
 estes registros, ou seja, se existe é pq está pendente... caso 
contrário
 já apagaria da tabela... tudo depende se vc vai precisar de 
auditoria e
 histórico das transações.
  
 Espero ter dado mais um pouco de luz ! risos
  
 Abraço,
 Marco.
 
 
 
 From: oracle_br@yahoogrupos.com.br 
[mailto:[EMAIL PROTECTED] On Behalf Of PUB: Eduardo
 Sent: quarta-feira, 23 de maio de 2007 10:55
 To: oracle_br@yahoogrupos.com.br
 Subject: Re: RES: [oracle_br] Triggers de replicação.
 
 
 
 É que é uma tabela de clientes, e tenho que ter as duas identicas 
nas duas instancias diferentes e não

Re: RES: [oracle_br] Triggers de replicação.

2007-05-23 Por tôpico jlchiappa
  sendo que este últimos poderia não existir e nesse caso vc apenas 
 apagaria
  estes registros, ou seja, se existe é pq está pendente... caso 
 contrário
  já apagaria da tabela... tudo depende se vc vai precisar de 
 auditoria e
  histórico das transações.
   
  Espero ter dado mais um pouco de luz ! risos
   
  Abraço,
  Marco.
  
  
  
  From: oracle_br@yahoogrupos.com.br 
 [mailto:[EMAIL PROTECTED] On Behalf Of PUB: Eduardo
  Sent: quarta-feira, 23 de maio de 2007 10:55
  To: oracle_br@yahoogrupos.com.br
  Subject: Re: RES: [oracle_br] Triggers de replicação.
  
  
  
  É que é uma tabela de clientes, e tenho que ter as duas identicas 
 nas duas instancias diferentes e não há a possibilidade de ter uma 
 unica tabela.
  
  - Original Message - 
  From: Celso Henrique Souza 
  To: oracle_br@yahoogrupos.com.br mailto:oracle_br%
 40yahoogrupos.com.br  
  Sent: Wednesday, May 23, 2007 9:00 AM
  Subject: Res: RES: [oracle_br] Triggers de replicação.
  
  tente inativar a trigger
  
  Celso Henrique O. Souza
  
  - Mensagem original 
  De: Fabio Santos santos@ mailto:santos%40brassites.com.br 
  Para: oracle_br@yahoogrupos.com.br mailto:oracle_br%
 40yahoogrupos.com.br 
  Enviadas: Terça-feira, 22 de Maio de 2007 19:36:03
  Assunto: RES: [oracle_br] Triggers de replicação.
  
  pelo o que entendi, vc quer manter sempre duas tabelas iguais. se 
 elas
  serao sempre as duas iguais, porque existir as duas e nao apenas 
 uma?
  
  -Mensagem original-
  De: oracle_br@yahoogrupos.com.br mailto:oracle_br%
 40yahoogrupos.com.br  [mailto:oracle_br@yahoogrupos.com.br 
 mailto:oracle_br%40yahoogrupos.com.br ]
  Em nome de Eduardo
  Enviada em: terça-feira, 22 de maio de 2007 17:40
  Para: oracle_br@yahoogrupos.com.br mailto:oracle_br%
 40yahoogrupos.com.br 
  Assunto: [oracle_br] Triggers de replicação.
  
  Olá galera,
  
  Tenho 1 triggers q replica dados de uma tabela p/ outra. Tipo 
 tabela1 p/
  tabela2.
  Tenho q fazer o inverso agora, mas trava tudo. Com certeza é pq 
uma
  trigger dispara a outra. Como resolvo isso ?
  
  Aguarda a ajuda dos amigos...
  
  Edu...
  
  [As partes desta mensagem que não continham texto foram removidas]
  
  [As partes desta mensagem que não continham texto foram removidas]
  
  Apostilas » Dicas e Exemplos » Funções » Mundo Oracle » 
Package » 
 Procedure » Scripts » Tutoriais acesse: 
 http://www.oraclebr.com.br/codigo/ListaCodigo.php 
 http://www.oraclebr.com.br/codigo/ListaCodigo.php  
  --
  Atenção! As mensagens do grupo ORACLE_BR são de acesso público e 
 de inteira responsabilidade de seus remetentes.
  Acesse: http://www.mail-archive.com/oracle_br@yahoogrupos.com.br/ 
 http://www.mail-archive.com/oracle_br@yahoogrupos.com.br/  
  --
  O GRUPO ORACLE_BR TEM SEU PROPRIO ESPAÇO! VISITE: 
 http://www.oraclebr.com.br/ http://www.oraclebr.com.br/  
  -- 
  Links do Yahoo! Grupos
  
  __
  Fale com seus amigos de graça com o novo Yahoo! Messenger 
  http://br.messenger.yahoo.com/ http://br.messenger.yahoo.com/  
  
  [As partes desta mensagem que não continham texto foram removidas]
  
  [As partes desta mensagem que não continham texto foram removidas]
  
  
  
   
  
  
  [As partes desta mensagem que não continham texto foram removidas]
 





Re: RES: [oracle_br] Triggers de replicação.

2007-05-23 Por tôpico Eduardo
Jlchiappa,

Concordo plenamente com vc que e uma logica errada. Mas e que o sistema e 
fechado e ja tentei brigar com os desenvolvedores unificar isso, mas sem 
sucesso ainda. Vou analisar tudo que vc falou e pensar em alguma coisa, mas vai 
ter que ser on-line, a diferenca ai e que nao vou ter DELETE, somente INSERT E 
UPDATE nas duas tabelas. Essa ideia do Fernando p/ identificar se vem da 
trigger o pedido de INSERT E UPDATE acho que resolveria,a droga é que não posso 
mexer na estrutura dessas tabelas. Será que tem alguma forma nativa de saber se 
o pedido DML´s vem da trigger ?


edu...



- Original Message - 
  From: jlchiappa 
  To: oracle_br@yahoogrupos.com.br 
  Sent: Wednesday, May 23, 2007 1:41 PM
  Subject: Re: RES: [oracle_br] Triggers de replicação.


  Bota complexo nisso, Fernandes Eduardo, pra vc entender, pense 
  por exemplo no seguinte caso, ao mesmo tempo o banco A pede um update 
  na tabela e o banco B pede um delete, COMO que vc vai permitir que 
  ambos executem são coisas EXCLUDENTES, vc não pode updatear o que 
  está sendo deletado, é óbvio... Conflitos desse tipo é o que torna 
  replicação onde ambos os lados podem fazer DMLs algo muuuito 
  complexo - a tua abordagem de triggers é realmente, completamente 
  ilógica, veja só : o banco A tem um trigger de INSERT na tabela T que 
  faz insert na tabela T do banco B, E no banco B temos trigger que 
  faz INSERT no A - ora, quando alguém mandar um insert no banco A 
  (digamos), a trigger disparou e enviou um comando INSERT no B, ocorre 
  que B recebendo o insert a trigger de insert dispara , que manda um 
  INSERT no A, trigger do A dispara , manda INSERT no B, trigger N 
  dispara Sacou a MONSTRUOSIDADE que vc tem feita aí ??? Só podia 
  MESMO dar errado, vc tem em mãos uma lógica SEM A MENOR lógica...
  Bem, já que vc está escrevendo algo eu SUPONHO que :

  - vc tem dblink entre os bancos (óbvio)
  - hoje as duas tabelas são EXATAMENTE iguais
  - e que as features de replicação nativas do banco (inclusive 
  replicação master/master) não podem ser usadas por algum motivo

  OBS : E vc diz que não pode ter uma tabela só (o que seria *** MESMO 
  *** o mais fácil, eu tentaria MESMO batalhar por isso, mostre e 
  explique pro teu cliente a complicação que é), vamos assumir que seja 
  assim. ..

  Muito bem, nesse cenário de duas tabs, vc tem duas possibilidades 
  principais, SERIALIZAÇÃO e ROTINA DE ATUALIZAÇÂO. Serialização seria 
  algo do tipo : o dono das tabelas NÃO DÁ grants de 
  INSERT/UPDATE/DELETE pra ninguém, ao invés da GRANT de execute em 
  APIs (rotinas PL/SQL) apropriadas (uma pra INSERT, outra pra UPDATE e 
  outra pra DELETE, digamos), e nessas rotinas antes de executar o DML 
  vc manda um SELECT FROM tabela FOR UPDATE no registro da tabela local 
  que está sendo alterado E um SELECT FROM [EMAIL PROTECTED] FOR 
  UPDATE na tabela remota para esse mesmo registro, se conseguiu lockar 
  ambos blz, vc manda o DML no registro local E no registro do bd 
  remoto, se não conseguiu locar ambos os registros vc manda um erro 
  pro usuário e manda o usuário pesquisar de novo daqui a pouco, 
  trazendo assim a info refrescada, E refazer a operação passando os 
  eventuais novos valores lidos pra API, e assim vai até conseguir.
  Já Atualização é a mais complexa, é o que outros colegas sugeriram, 
  seria vc ter algum tipo de LOG das operações (numa outra tabela, num 
  arquivo, via FLAG, o que for), log esse sequencial e disponível a 
  AMBOS os bancos, que a cada período (no fim do dia, talvez) seria 
  aplicado com a aplicação OFFLINE.

  []s

  Chiappa

  --- Em oracle_br@yahoogrupos.com.br, FERNANDES Marco A SOFTTEK 
  [EMAIL PROTECTED] escreveu
  
   Eduardo,
   seu caso é bem crítico... duas tabelas iguais, as duas online,
   as duas recebem comandos INS, DEL, UPD... complicado.
   E ainda não pode unificar ! piorou !
   
   Uma coisa é certa ! trigger fazendo atualização cruzada
   não vai funcionar mesmo !!! sem dúvida !
   
   O ideal seria centralizar a atualização ! atualizar apenas em
   uma delas e replicar pra outra... minimiza muito o trampo !
   
   Agora, solução sempre tem ! opção sempre tem ! e cada caso
   se resolve de forma específica... respostas genéricas apenas dão
   uma noção pra onde vc deve atirar.
   
   Uma opção seria, cria um terceira tabela que controla a atualização.
   Ou seja, nela vc coloca apenas a chave e uma ou duas colunas de
   controle. E coloca um processo à parte, pode ser um job ou outra
   coisa, que rode de tempos em tempos (sem muita defasagem) pra
   ler a tabela de controle e atualizar as tabelas.
   Nessa tabela de controle vc colocaria além da chave de atualização,
   uma coluna com o controle, tipo um flag (bandeirinha) que sinaliza
   em qual sentido deve ser a atualização e se está pendente ou 
  realizada.
   Por exemplo, vc cria uma coluna CHAR(1) com uma espécie de 
  protocolo:
   A - atualizar tabela 1 com dados da tabela 2

Re: RES: [oracle_br] Triggers de replicação.

2007-05-23 Por tôpico jlchiappa
Colega, sendo ou não sistema fechado, o que é errado é errado, no 
way, triggers absolutamente NÂO SÃO recomendáveis pra replicação, 
MONTES de efeitos colaterais possíveis 9sendo essa questão de disparo 
recursivo UM deles), se vc quer fazer algo direito nas condições 
atuais AO MENOS alguma mudança na aplicação (criação de objetos como 
update materialized view, alteração de colunas, criação de sinônimos, 
uso de API, o que for) vc TEM QUE ter Quanto à pergunta, não, não 
há nenhuma maneira nativa - vc em tese vc até poderia instrumentar a 
aplicação para que além de fazer o INSERT na tabela remota 
sinalizasse isso em algum lugar (arquivo, tabela, o que for) 
acessível ao outro banco, mas NOVAMENTE caímos na tecla de alteração 
de aplicação...

[]s

  Chiappa
--- Em oracle_br@yahoogrupos.com.br, Eduardo [EMAIL PROTECTED] escreveu

 Jlchiappa,
 
 Concordo plenamente com vc que e uma logica errada. Mas e que o 
sistema e fechado e ja tentei brigar com os desenvolvedores unificar 
isso, mas sem sucesso ainda. Vou analisar tudo que vc falou e pensar 
em alguma coisa, mas vai ter que ser on-line, a diferenca ai e que 
nao vou ter DELETE, somente INSERT E UPDATE nas duas tabelas. Essa 
ideia do Fernando p/ identificar se vem da trigger o pedido de INSERT 
E UPDATE acho que resolveria,a droga é que não posso mexer na 
estrutura dessas tabelas. Será que tem alguma forma nativa de saber 
se o pedido DML´s vem da trigger ?
 
 
 edu...
 
 
 
 - Original Message - 
   From: jlchiappa 
   To: oracle_br@yahoogrupos.com.br 
   Sent: Wednesday, May 23, 2007 1:41 PM
   Subject: Re: RES: [oracle_br] Triggers de replicação.
 
 
   Bota complexo nisso, Fernandes Eduardo, pra vc entender, 
pense 
   por exemplo no seguinte caso, ao mesmo tempo o banco A pede um 
update 
   na tabela e o banco B pede um delete, COMO que vc vai permitir 
que 
   ambos executem são coisas EXCLUDENTES, vc não pode updatear o que 
   está sendo deletado, é óbvio... Conflitos desse tipo é o que 
torna 
   replicação onde ambos os lados podem fazer DMLs algo muuuito 
   complexo - a tua abordagem de triggers é realmente, completamente 
   ilógica, veja só : o banco A tem um trigger de INSERT na tabela T 
que 
   faz insert na tabela T do banco B, E no banco B temos trigger que 
   faz INSERT no A - ora, quando alguém mandar um insert no banco A 
   (digamos), a trigger disparou e enviou um comando INSERT no B, 
ocorre 
   que B recebendo o insert a trigger de insert dispara , que manda 
um 
   INSERT no A, trigger do A dispara , manda INSERT no B, trigger N 
   dispara Sacou a MONSTRUOSIDADE que vc tem feita aí ??? Só 
podia 
   MESMO dar errado, vc tem em mãos uma lógica SEM A MENOR lógica...
   Bem, já que vc está escrevendo algo eu SUPONHO que :
 
   - vc tem dblink entre os bancos (óbvio)
   - hoje as duas tabelas são EXATAMENTE iguais
   - e que as features de replicação nativas do banco (inclusive 
   replicação master/master) não podem ser usadas por algum motivo
 
   OBS : E vc diz que não pode ter uma tabela só (o que seria *** 
MESMO 
   *** o mais fácil, eu tentaria MESMO batalhar por isso, mostre e 
   explique pro teu cliente a complicação que é), vamos assumir que 
seja 
   assim. ..
 
   Muito bem, nesse cenário de duas tabs, vc tem duas possibilidades 
   principais, SERIALIZAÇÃO e ROTINA DE ATUALIZAÇÂO. Serialização 
seria 
   algo do tipo : o dono das tabelas NÃO DÁ grants de 
   INSERT/UPDATE/DELETE pra ninguém, ao invés da GRANT de execute em 
   APIs (rotinas PL/SQL) apropriadas (uma pra INSERT, outra pra 
UPDATE e 
   outra pra DELETE, digamos), e nessas rotinas antes de executar o 
DML 
   vc manda um SELECT FROM tabela FOR UPDATE no registro da tabela 
local 
   que está sendo alterado E um SELECT FROM [EMAIL PROTECTED] FOR 
   UPDATE na tabela remota para esse mesmo registro, se conseguiu 
lockar 
   ambos blz, vc manda o DML no registro local E no registro do bd 
   remoto, se não conseguiu locar ambos os registros vc manda um 
erro 
   pro usuário e manda o usuário pesquisar de novo daqui a pouco, 
   trazendo assim a info refrescada, E refazer a operação passando 
os 
   eventuais novos valores lidos pra API, e assim vai até conseguir.
   Já Atualização é a mais complexa, é o que outros colegas 
sugeriram, 
   seria vc ter algum tipo de LOG das operações (numa outra tabela, 
num 
   arquivo, via FLAG, o que for), log esse sequencial e disponível a 
   AMBOS os bancos, que a cada período (no fim do dia, talvez) seria 
   aplicado com a aplicação OFFLINE.
 
   []s
 
   Chiappa
 
   --- Em oracle_br@yahoogrupos.com.br, FERNANDES Marco A SOFTTEK 
   mfernandes@ escreveu
   
Eduardo,
seu caso é bem crítico... duas tabelas iguais, as duas online,
as duas recebem comandos INS, DEL, UPD... complicado.
E ainda não pode unificar ! piorou !

Uma coisa é certa ! trigger fazendo atualização cruzada
não vai funcionar mesmo !!! sem dúvida !

O ideal seria centralizar

Re: RES: [oracle_br] Triggers de replicação.

2007-05-23 Por tôpico Eduardo
Amigos...

Obrigado pelas explicações, vou tentar fazer o correto mesmo...

valeu mesmo...



- Original Message - 
  From: jlchiappa 
  To: oracle_br@yahoogrupos.com.br 
  Sent: Wednesday, May 23, 2007 2:28 PM
  Subject: Re: RES: [oracle_br] Triggers de replicação.


  Colega, sendo ou não sistema fechado, o que é errado é errado, no 
  way, triggers absolutamente NÂO SÃO recomendáveis pra replicação, 
  MONTES de efeitos colaterais possíveis 9sendo essa questão de disparo 
  recursivo UM deles), se vc quer fazer algo direito nas condições 
  atuais AO MENOS alguma mudança na aplicação (criação de objetos como 
  update materialized view, alteração de colunas, criação de sinônimos, 
  uso de API, o que for) vc TEM QUE ter Quanto à pergunta, não, não 
  há nenhuma maneira nativa - vc em tese vc até poderia instrumentar a 
  aplicação para que além de fazer o INSERT na tabela remota 
  sinalizasse isso em algum lugar (arquivo, tabela, o que for) 
  acessível ao outro banco, mas NOVAMENTE caímos na tecla de alteração 
  de aplicação...

  []s

  Chiappa
  --- Em oracle_br@yahoogrupos.com.br, Eduardo [EMAIL PROTECTED] escreveu
  
   Jlchiappa,
   
   Concordo plenamente com vc que e uma logica errada. Mas e que o 
  sistema e fechado e ja tentei brigar com os desenvolvedores unificar 
  isso, mas sem sucesso ainda. Vou analisar tudo que vc falou e pensar 
  em alguma coisa, mas vai ter que ser on-line, a diferenca ai e que 
  nao vou ter DELETE, somente INSERT E UPDATE nas duas tabelas. Essa 
  ideia do Fernando p/ identificar se vem da trigger o pedido de INSERT 
  E UPDATE acho que resolveria,a droga é que não posso mexer na 
  estrutura dessas tabelas. Será que tem alguma forma nativa de saber 
  se o pedido DML´s vem da trigger ?
   
   
   edu...
   
   
   
   - Original Message - 
   From: jlchiappa 
   To: oracle_br@yahoogrupos.com.br 
   Sent: Wednesday, May 23, 2007 1:41 PM
   Subject: Re: RES: [oracle_br] Triggers de replicação.
   
   
   Bota complexo nisso, Fernandes Eduardo, pra vc entender, 
  pense 
   por exemplo no seguinte caso, ao mesmo tempo o banco A pede um 
  update 
   na tabela e o banco B pede um delete, COMO que vc vai permitir 
  que 
   ambos executem são coisas EXCLUDENTES, vc não pode updatear o que 
   está sendo deletado, é óbvio... Conflitos desse tipo é o que 
  torna 
   replicação onde ambos os lados podem fazer DMLs algo muuuito 
   complexo - a tua abordagem de triggers é realmente, completamente 
   ilógica, veja só : o banco A tem um trigger de INSERT na tabela T 
  que 
   faz insert na tabela T do banco B, E no banco B temos trigger que 
   faz INSERT no A - ora, quando alguém mandar um insert no banco A 
   (digamos), a trigger disparou e enviou um comando INSERT no B, 
  ocorre 
   que B recebendo o insert a trigger de insert dispara , que manda 
  um 
   INSERT no A, trigger do A dispara , manda INSERT no B, trigger N 
   dispara Sacou a MONSTRUOSIDADE que vc tem feita aí ??? Só 
  podia 
   MESMO dar errado, vc tem em mãos uma lógica SEM A MENOR lógica...
   Bem, já que vc está escrevendo algo eu SUPONHO que :
   
   - vc tem dblink entre os bancos (óbvio)
   - hoje as duas tabelas são EXATAMENTE iguais
   - e que as features de replicação nativas do banco (inclusive 
   replicação master/master) não podem ser usadas por algum motivo
   
   OBS : E vc diz que não pode ter uma tabela só (o que seria *** 
  MESMO 
   *** o mais fácil, eu tentaria MESMO batalhar por isso, mostre e 
   explique pro teu cliente a complicação que é), vamos assumir que 
  seja 
   assim. ..
   
   Muito bem, nesse cenário de duas tabs, vc tem duas possibilidades 
   principais, SERIALIZAÇÃO e ROTINA DE ATUALIZAÇÂO. Serialização 
  seria 
   algo do tipo : o dono das tabelas NÃO DÁ grants de 
   INSERT/UPDATE/DELETE pra ninguém, ao invés da GRANT de execute em 
   APIs (rotinas PL/SQL) apropriadas (uma pra INSERT, outra pra 
  UPDATE e 
   outra pra DELETE, digamos), e nessas rotinas antes de executar o 
  DML 
   vc manda um SELECT FROM tabela FOR UPDATE no registro da tabela 
  local 
   que está sendo alterado E um SELECT FROM [EMAIL PROTECTED] FOR 
   UPDATE na tabela remota para esse mesmo registro, se conseguiu 
  lockar 
   ambos blz, vc manda o DML no registro local E no registro do bd 
   remoto, se não conseguiu locar ambos os registros vc manda um 
  erro 
   pro usuário e manda o usuário pesquisar de novo daqui a pouco, 
   trazendo assim a info refrescada, E refazer a operação passando 
  os 
   eventuais novos valores lidos pra API, e assim vai até conseguir.
   Já Atualização é a mais complexa, é o que outros colegas 
  sugeriram, 
   seria vc ter algum tipo de LOG das operações (numa outra tabela, 
  num 
   arquivo, via FLAG, o que for), log esse sequencial e disponível a 
   AMBOS os bancos, que a cada período (no fim do dia, talvez) seria 
   aplicado com a aplicação OFFLINE.
   
   []s
   
   Chiappa
   
   --- Em oracle_br

RES: RES: [oracle_br] Triggers de rep licação.

2007-05-23 Por tôpico Machado
 

Voce não pode fazer o inverso , porque entra em loop

 

Evento insert - Tabela1  para  insere na Tabela 2 , se tiver um trigger
Tabela 2 para inserir na Tabela 1   , entra em loop .

 

Você tem fazer  um controle   uma tabela temporária , ou uma variável de
package ,   para avisar 

 

Para não replicar  o trigger se a origem do insert   foi de um trigger da
outra tabela , somente replicar se o insert foi de aplicação .  

   

Espero ter ajudado . 

 

 

 

Tenho 1 triggers q replica dados de uma tabela p/ outra. Tipo tabela1 p/
tabela2.
Tenho q fazer o inverso agora, mas trava tudo. Com certeza é pq uma
trigger dispara a outra. Como resolvo isso ?  

 

 

André Luiz Machado

Tecnologia/Sistemas

(51) 3341-9955

www.shoppingbrasil.com.br http://www.shoppingbrasil.com.br/ 

  _  

De: Eduardo [mailto:[EMAIL PROTECTED] 
Enviada em: quarta-feira, 23 de maio de 2007 10:55
Para: oracle_br@yahoogrupos.com.br
Assunto: Re: RES: [oracle_br] Triggers de replicação.

 

É que é uma tabela de clientes, e tenho que ter as duas identicas nas duas
instancias diferentes e não há a possibilidade de ter uma unica tabela.

- Original Message - 
From: Celso Henrique Souza 
To: [EMAIL PROTECTED] mailto:oracle_br%40yahoogrupos.com.br os.com.br 
Sent: Wednesday, May 23, 2007 9:00 AM
Subject: Res: RES: [oracle_br] Triggers de replicação.

tente inativar a trigger

Celso Henrique O. Souza

- Mensagem original 
De: Fabio Santos [EMAIL PROTECTED] mailto:santos%40brassites.com.br
com.br
Para: [EMAIL PROTECTED] mailto:oracle_br%40yahoogrupos.com.br os.com.br
Enviadas: Terça-feira, 22 de Maio de 2007 19:36:03
Assunto: RES: [oracle_br] Triggers de replicação.

pelo o que entendi, vc quer manter sempre duas tabelas iguais. se elas
serao sempre as duas iguais, porque existir as duas e nao apenas uma?

-Mensagem original-
De: [EMAIL PROTECTED] mailto:oracle_br%40yahoogrupos.com.br os.com.br
[mailto:[EMAIL PROTECTED] mailto:oracle_br%40yahoogrupos.com.br
os.com.br]
Em nome de Eduardo
Enviada em: terça-feira, 22 de maio de 2007 17:40
Para: [EMAIL PROTECTED] mailto:oracle_br%40yahoogrupos.com.br os.com.br
Assunto: [oracle_br] Triggers de replicação.

Olá galera,

Tenho 1 triggers q replica dados de uma tabela p/ outra. Tipo tabela1 p/
tabela2.
Tenho q fazer o inverso agora, mas trava tudo. Com certeza é pq uma
trigger dispara a outra. Como resolvo isso ?

Aguarda a ajuda dos amigos...

Edu...

[As partes desta mensagem que não continham texto foram removidas]

[As partes desta mensagem que não continham texto foram removidas]

Apostilas » Dicas e Exemplos » Funções » Mundo Oracle » Package » Procedure
» Scripts » Tutoriais acesse: http://www.oraclebr
http://www.oraclebr.com.br/codigo/ListaCodigo.php
.com.br/codigo/ListaCodigo.php 
--
Atenção! As mensagens do grupo ORACLE_BR são de acesso público e de inteira
responsabilidade de seus remetentes.
Acesse: http://www.mail-
http://www.mail-archive.com/oracle_br@yahoogrupos.com.br/
archive.com/oracle_br@yahoogrupos.com.br/ 
--
O GRUPO ORACLE_BR TEM SEU PROPRIO ESPAÇO! VISITE: http://www.oraclebr
http://www.oraclebr.com.br/ .com.br/ 
-- 
Links do Yahoo! Grupos

__
Fale com seus amigos de graça com o novo Yahoo! Messenger 
http://br.messenger http://br.messenger.yahoo.com/ .yahoo.com/ 

[As partes desta mensagem que não continham texto foram removidas]

[As partes desta mensagem que não continham texto foram removidas]

 



[As partes desta mensagem que não continham texto foram removidas]



Re: RES: [oracle_br] Triggers de replicação.

2007-05-23 Por tôpico Eduardo
É que é uma tabela de clientes, e tenho que ter as duas identicas nas duas 
instancias diferentes e não há a possibilidade de ter uma unica tabela.



- Original Message - 
  From: Celso Henrique Souza 
  To: oracle_br@yahoogrupos.com.br 
  Sent: Wednesday, May 23, 2007 9:00 AM
  Subject: Res: RES: [oracle_br] Triggers de replicação.


  tente inativar a trigger

  Celso Henrique O. Souza

  - Mensagem original 
  De: Fabio Santos [EMAIL PROTECTED]
  Para: oracle_br@yahoogrupos.com.br
  Enviadas: Terça-feira, 22 de Maio de 2007 19:36:03
  Assunto: RES: [oracle_br] Triggers de replicação.

  pelo o que entendi, vc quer manter sempre duas tabelas iguais. se elas
  serao sempre as duas iguais, porque existir as duas e nao apenas uma?


  -Mensagem original-
  De: oracle_br@yahoogrupos.com.br [mailto:[EMAIL PROTECTED]
  Em nome de Eduardo
  Enviada em: terça-feira, 22 de maio de 2007 17:40
  Para: oracle_br@yahoogrupos.com.br
  Assunto: [oracle_br] Triggers de replicação.

  Olá galera,

  Tenho 1 triggers q replica dados de uma tabela p/ outra. Tipo tabela1 p/
  tabela2.
  Tenho q fazer o inverso agora, mas trava tudo. Com certeza é pq uma
  trigger dispara a outra. Como resolvo isso ?

  Aguarda a ajuda dos amigos...

  Edu...

  [As partes desta mensagem que não continham texto foram removidas]

  [As partes desta mensagem que não continham texto foram removidas]

  Apostilas » Dicas e Exemplos » Funções » Mundo Oracle » Package » Procedure 
» Scripts » Tutoriais acesse: http://www.oraclebr.com.br/codigo/ListaCodigo.php 
  --
  Atenção! As mensagens do grupo ORACLE_BR são de acesso público e de inteira 
responsabilidade de seus remetentes.
  Acesse: http://www.mail-archive.com/oracle_br@yahoogrupos.com.br/ 
  --
  O GRUPO ORACLE_BR TEM SEU PROPRIO ESPAÇO! VISITE: 
http://www.oraclebr.com.br/ 
  -- 
  Links do Yahoo! Grupos

  __
  Fale com seus amigos de graça com o novo Yahoo! Messenger 
  http://br.messenger.yahoo.com/ 

  [As partes desta mensagem que não continham texto foram removidas]



   

[As partes desta mensagem que não continham texto foram removidas]



[oracle_br] Triggers de replicação.

2007-05-22 Por tôpico Eduardo
Olá galera,

Tenho 1 triggers q replica dados de uma tabela p/ outra. Tipo tabela1 p/ 
tabela2.
Tenho q fazer o inverso agora, mas trava tudo. Com certeza é pq uma trigger 
dispara a outra. Como resolvo isso ?

Aguarda a ajuda dos amigos...

Edu...

[As partes desta mensagem que não continham texto foram removidas]



Re: [oracle_br] Triggers de replicação.

2007-05-22 Por tôpico Eduardo de Paula
ou entao transformar a trigger em procedure e agendar no banco. :)

On 5/22/07, Eduardo de Paula [EMAIL PROTECTED] wrote:

 Não seria mais simples criar uma view?

 On 5/22/07, Eduardo [EMAIL PROTECTED] wrote:
 
Olá galera,
 
  Tenho 1 triggers q replica dados de uma tabela p/ outra. Tipo tabela1 p/
  tabela2.
  Tenho q fazer o inverso agora, mas trava tudo. Com certeza é pq uma
  trigger dispara a outra. Como resolvo isso ?
 
  Aguarda a ajuda dos amigos...
 
  Edu...
 
  [As partes desta mensagem que não continham texto foram removidas]
 
   
 



 --
 Os erros podem ser transformados em acertos quando com eles se aprende.
 Não existe a segurança do acerto eterno.




-- 
Os erros podem ser transformados em acertos quando com eles se aprende. Não
existe a segurança do acerto eterno.


[As partes desta mensagem que não continham texto foram removidas]



Re: [oracle_br] Triggers de replicação.

2007-05-22 Por tôpico Eduardo de Paula
Não seria mais simples criar uma view?

On 5/22/07, Eduardo [EMAIL PROTECTED] wrote:

   Olá galera,

 Tenho 1 triggers q replica dados de uma tabela p/ outra. Tipo tabela1 p/
 tabela2.
 Tenho q fazer o inverso agora, mas trava tudo. Com certeza é pq uma
 trigger dispara a outra. Como resolvo isso ?

 Aguarda a ajuda dos amigos...

 Edu...

 [As partes desta mensagem que não continham texto foram removidas]

  




-- 
Os erros podem ser transformados em acertos quando com eles se aprende. Não
existe a segurança do acerto eterno.


[As partes desta mensagem que não continham texto foram removidas]



Re: [oracle_br] Triggers de replicação.

2007-05-22 Por tôpico Eduardo
na verdade são tabelas de bases diferentes, entao realmente tudo que tiver em 
uma tem que ter na outra e fazer o inverso acontecer quando tiver um 
insert,update e delete. Acho q uma view nao resolve. o q acha ?

Eduardo Souza Pinho
Gerente - T.I / Sistemas
DDR: 55 11 2146-9449
Fone: 55 11 2146-9444
Fax: 55 11 3871-3730
[EMAIL PROTECTED]
www.sonsun.com.br

  - Original Message - 
  From: Eduardo de Paula 
  To: oracle_br@yahoogrupos.com.br 
  Sent: Tuesday, May 22, 2007 5:39 PM
  Subject: Re: [oracle_br] Triggers de replicação.


  ou entao transformar a trigger em procedure e agendar no banco. :)

  On 5/22/07, Eduardo de Paula [EMAIL PROTECTED] wrote:
  
   Não seria mais simples criar uma view?
  
   On 5/22/07, Eduardo [EMAIL PROTECTED] wrote:
   
Olá galera,
   
Tenho 1 triggers q replica dados de uma tabela p/ outra. Tipo tabela1 p/
tabela2.
Tenho q fazer o inverso agora, mas trava tudo. Com certeza é pq uma
trigger dispara a outra. Como resolvo isso ?
   
Aguarda a ajuda dos amigos...
   
Edu...
   
[As partes desta mensagem que não continham texto foram removidas]
   

   
  
  
  
   --
   Os erros podem ser transformados em acertos quando com eles se aprende.
   Não existe a segurança do acerto eterno.

  -- 
  Os erros podem ser transformados em acertos quando com eles se aprende. Não
  existe a segurança do acerto eterno.

  [As partes desta mensagem que não continham texto foram removidas]



   

[As partes desta mensagem que não continham texto foram removidas]



RES: [oracle_br] Triggers de replicação.

2007-05-22 Por tôpico Fabio Santos
depende do seu conceito.
passe exatamente o que voce quer para ver o que pode ser feito.
 
 

-Mensagem original-
De: oracle_br@yahoogrupos.com.br [mailto:[EMAIL PROTECTED]
Em nome de Eduardo
Enviada em: terça-feira, 22 de maio de 2007 17:40
Para: oracle_br@yahoogrupos.com.br
Assunto: [oracle_br] Triggers de replicação.



Olá galera,

Tenho 1 triggers q replica dados de uma tabela p/ outra. Tipo tabela1 p/
tabela2.
Tenho q fazer o inverso agora, mas trava tudo. Com certeza é pq uma
trigger dispara a outra. Como resolvo isso ?

Aguarda a ajuda dos amigos...

Edu...

[As partes desta mensagem que não continham texto foram removidas]



 



[As partes desta mensagem que não continham texto foram removidas]



Re: [oracle_br] Triggers

2006-03-17 Por tôpico Marcio Portes
Fabiano, eu não conheço. Mas pode ser feito através de script facilmente.
Veja exemplo:

[EMAIL PROTECTED] select trigger_name, table_name, status
  2from user_triggers
  3   where table_name is not null
  4  /

TRIGGER_NAME   TABLE_NAME STATUS
-- -- 
T3_FER_BI  T3 ENABLED
T2_FER_BI  T2 ENABLED
T1_FER_BI  T1 ENABLED

3 rows selected.

[EMAIL PROTECTED]
[EMAIL PROTECTED] begin
  2  for x in ( select table_name
  3   from user_triggers
  4  where table_name is not null )
  5  loop
  6  execute immediate 'alter table '|| x.table_name ||'
disable all triggers';
  7  end loop;
  8  end;
  9  /

PL/SQL procedure successfully completed.

[EMAIL PROTECTED]
[EMAIL PROTECTED] select trigger_name, table_name, status
  2from user_triggers
  3   where table_name is not null
  4  /

TRIGGER_NAME   TABLE_NAME STATUS
-- -- 
T3_FER_BI  T3 DISABLED
T2_FER_BI  T2 DISABLED
T1_FER_BI  T1 DISABLED

3 rows selected.

[EMAIL PROTECTED]
[EMAIL PROTECTED] begin
  2  for x in ( select table_name
  3   from user_triggers
  4  where table_name is not null )
  5  loop
  6  execute immediate 'alter table '|| x.table_name ||'
enable all triggers';
  7  end loop;
  8  end;
  9  /

PL/SQL procedure successfully completed.

[EMAIL PROTECTED]
[EMAIL PROTECTED]
[EMAIL PROTECTED] select trigger_name, table_name, status
  2from user_triggers
  3   where table_name is not null
  4  /

TRIGGER_NAME   TABLE_NAME STATUS
-- -- 
T3_FER_BI  T3 ENABLED
T2_FER_BI  T2 ENABLED
T1_FER_BI  T1 ENABLED

3 rows selected.

On 3/16/06, Fabiano P. [EMAIL PROTECTED] wrote:

 Este comando desabilita somente as triggers de uma tabela espefica, para
 desabilitar todas as triggres sem precisar passar por todas as tabelas nao
 tem como?

 Obrigado

 Fabiano P.



 Obrigado
 
  Fabiano P.
 
 
  On 3/15/06, Marcio Portes [EMAIL PROTECTED]  wrote:
  
alter table nome_table disable all triggers;
  
  
  
   On 3/15/06, Fabiano P. [EMAIL PROTECTED] wrote:
   
Boa Tarde
   
Existe algum comando que eu possa desabilitar todas as triggers ou o
gerenciador delas?
   
Atenciosamente
--
Fabiano P.
   
   
[As partes desta mensagem que não continham texto foram removidas]
   
   
   
   
   
   
   
  
 --
Atenção! As mensagens deste grupo são de acesso público e de inteira
responsabilidade de seus remetentes.
Acesse: http://www.mail-archive.com/oracle_br@yahoogrupos.com.br/
   
   
  
 --__
   
Este Grupo recebe o apoio da SQL Magazine -
www.devmedia.com.br/sqlmagazine
__
   
Links do Yahoo! Grupos
   
   
   
   
   
   
   
   
  
  
   --
   Marcio Portes
   Material Tecnico em Portugues - http://mportes.blogspot.com
   Practical Learning Oracle -
   http://mportes.blogspot.com/2006/02/practical-learning-oracle.html
  
  
   [As partes desta mensagem que não continham texto foram removidas]
  
  
  
  
 --
   Atenção! As mensagens deste grupo são de acesso público e de inteira
   responsabilidade de seus remetentes.
   Acesse: http://www.mail-archive.com/oracle_br@yahoogrupos.com.br/
  
  
 --__
  
   Este Grupo recebe o apoio da SQL Magazine -
   www.devmedia.com.br/sqlmagazine
   __
  
  
  
*Yahoo! Grupos, um serviço oferecido por:*  PUBLICIDADE
  
   
 

[oracle_br] Triggers

2006-03-15 Por tôpico Fabiano P.
Boa Tarde

Existe algum comando que eu possa desabilitar todas as triggers ou o
gerenciador delas?

Atenciosamente
--
Fabiano P.


[As partes desta mensagem que não continham texto foram removidas]





--
Atenção! As mensagens deste grupo são de acesso público e de inteira 
responsabilidade de seus remetentes.
Acesse: http://www.mail-archive.com/oracle_br@yahoogrupos.com.br/ 
--__

Este Grupo recebe o apoio da SQL Magazine - www.devmedia.com.br/sqlmagazine 
__
 
Links do Yahoo! Grupos

* Para visitar o site do seu grupo na web, acesse:
http://br.groups.yahoo.com/group/oracle_br/

* Para sair deste grupo, envie um e-mail para:
[EMAIL PROTECTED]

* O uso que você faz do Yahoo! Grupos está sujeito aos:
http://br.yahoo.com/info/utos.html

 




Re: [oracle_br] Triggers

2006-03-15 Por tôpico Marcio Portes
alter table nome_table disable all triggers;


On 3/15/06, Fabiano P. [EMAIL PROTECTED] wrote:

 Boa Tarde

 Existe algum comando que eu possa desabilitar todas as triggers ou o
 gerenciador delas?

 Atenciosamente
 --
 Fabiano P.


 [As partes desta mensagem que não continham texto foram removidas]






 --
 Atenção! As mensagens deste grupo são de acesso público e de inteira
 responsabilidade de seus remetentes.
 Acesse: http://www.mail-archive.com/oracle_br@yahoogrupos.com.br/

 --__

 Este Grupo recebe o apoio da SQL Magazine -
 www.devmedia.com.br/sqlmagazine
 __

 Links do Yahoo! Grupos










--
Marcio Portes
Material Tecnico em Portugues - http://mportes.blogspot.com
Practical Learning Oracle -
http://mportes.blogspot.com/2006/02/practical-learning-oracle.html


[As partes desta mensagem que não continham texto foram removidas]



--
Atenção! As mensagens deste grupo são de acesso público e de inteira 
responsabilidade de seus remetentes.
Acesse: http://www.mail-archive.com/oracle_br@yahoogrupos.com.br/ 
--__

Este Grupo recebe o apoio da SQL Magazine - www.devmedia.com.br/sqlmagazine 
__
 
Links do Yahoo! Grupos

* Para visitar o site do seu grupo na web, acesse:
http://br.groups.yahoo.com/group/oracle_br/

* Para sair deste grupo, envie um e-mail para:
[EMAIL PROTECTED]

* O uso que você faz do Yahoo! Grupos está sujeito aos:
http://br.yahoo.com/info/utos.html