Erro na Trigger - Tabela Mutante

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
gessimarjunior
Rank: Estagiário Pleno
Rank: Estagiário Pleno
Mensagens: 7
Registrado em: Sáb, 11 Ago 2007 7:22 am
Localização: Viana-ES

Boa Tarde Pessoal,


Estou alterando algumas triggers mas está acontecendo o erro de tabela mutante, olha o que está acontecendo:

Estou alterando a trigger TRI_TABELA1, mas a trigger TRI_TABELA1 é chamada pela TRIGGUER TRI_TABELA2. Preciso fazer um select na TABELA2 dentro de TRI_TABELA1 e quando rodo esse select da Erro de tabela Mutante.


Caminho do Erro:

1 - Update TABELA2
2 - Iniciada TRI_TABELA2
3 - TRI_TABELA2 faz update em TABELA1 chamando assim TRI_TABELA1
4 - Quando TRI_TABELA1 faz um select na tabela TABELA2 acontece o (PAM!!!) erro na tabela mutante (Talvez o gatilho não possa encontra-la)


alguém sabe como me ajudar, como explicar isso ou como resolver?
Avatar do usuário
dr_gori
Moderador
Moderador
Mensagens: 5024
Registrado em: Seg, 03 Mai 2004 3:08 pm
Localização: Portland, OR USA
Contato:
Thomas F. G

Você já respondeu a dúvida de alguém hoje?
https://glufke.net/oracle/search.php?search_id=unanswered

SIM, mas primeiro, veja se esse tópico te ajuda!
http://glufke.net/oracle/viewtopic.php?t=96
Avatar do usuário
fsitja
Rank: OraSauro
Rank: OraSauro
Mensagens: 611
Registrado em: Seg, 19 Jan 2009 4:29 pm
Localização: Gaúcho no Rio de Janeiro - RJ
"The scars exist to remind us that the past was real"
Campanha: Como fazer uma pergunta e obter uma resposta.
http://tkyte.blogspot.com/2005/06/how-t ... tions.html

OCA & OCP Developer — OCE SQL Expert — OCS Data Warehousing Specialist

É bem isso que o Dr Gori postou naquele outro post.
Você tem que decidir quando você faz um select na tabela 2 a partir da trigger da tab 1, qual "visão" da tabela 2 você quer ter, se é a visão dela antes ou depois da modificação. Isso porque durante a modificação você não pode vê-la (por isso o erro de mutating).
Um método de contorno está na solução do Tom Kyte no outro post. Há quem faça com package e há quem use uma tabela auxiliar.
Responder
  • Informação
  • Quem está online

    Usuários navegando neste fórum: Nenhum usuário registrado e 20 visitantes