Olá pessoal, tenho um problema com uma Trigger.
Tenho uma tabela que é responsável pelos movimentos de estoque e qualquer ação (insert, delete ou update) que seja feita nessa tabela dispara a Trigger que atualiza uma outra tabela responsávels pelos cálculos de estimativa do Estoque.
O problema é o seguinte, descobri um furo nesse programa que está rodando a tempos e preciso corrigir, só que a única maneira de corrigir este erro, é fazer uma consulta na própria tabela que dipara a trigger, no caso a de movimentos, para descobrir o MAX da data de movimento de entrada e retirada e atualizar a tabela de estimativa, porém, ela me retorna um erro pois a tabela está em mutação.
Tentei criar uma view mas também não dá.
Tentei utilizar transação autônuma com PRAGMA AUTONOMOUS_TRANSACTION; e nada, pois não é feita nenhuma alteração para dar um commit ou roll back, e assim a consulta não me retorna nada.
Alguém tem alguma sugestão?
obrigado!
Trigger
-
- Rank: Analista Sênior
- Mensagens: 130
- Registrado em: Seg, 22 Nov 2004 1:45 pm
- Localização: Niterói - RJ
Gustavo Erthal Jr. | TRISCAL
...................................................
Rio de Janeiro | (21) 2507-2010
São Paulo | (11) 3167-0526
www.triscal.com.br
...................................................
Rio de Janeiro | (21) 2507-2010
São Paulo | (11) 3167-0526
www.triscal.com.br
Brother,
Tente criar uma outra table com CREATE TABLE_TEMP AS SELECT * FROM TABELA_ORIGEM, e depois faça os selects que você precisa.
Abs,
Tente criar uma outra table com CREATE TABLE_TEMP AS SELECT * FROM TABELA_ORIGEM, e depois faça os selects que você precisa.
Abs,
-
- Rank: Programador Sênior
- Mensagens: 53
- Registrado em: Ter, 08 Jun 2004 2:59 pm
- Localização: Toledo - PR
Boa noite,
você poderia colocar um JOB rodar de minuto em minuto, fazendo consultas nessa sua tabela de movimento e inserindo/atualizando o necessario.
Se achar que fica muito grande/demorada a consulta, você pode colocar um campo de data, e consultar apenas os registros que tiverem data maior ou igual a ultima vez q o JOB foi rodado
você poderia colocar um JOB rodar de minuto em minuto, fazendo consultas nessa sua tabela de movimento e inserindo/atualizando o necessario.
Se achar que fica muito grande/demorada a consulta, você pode colocar um campo de data, e consultar apenas os registros que tiverem data maior ou igual a ultima vez q o JOB foi rodado
-
- Informação
-
Quem está online
Usuários navegando neste fórum: Nenhum usuário registrado e 3 visitantes