Disparar uma trigger dentro de outra

24/11/2004

0

ola
Estou com um problema...
Tenho duas Trigger (before update ) e (after update) para atualização do menu de usuarios da minha tabela

porem quando executa um update nesta tabela ela me retorna o seguinte erro

Too many concurrent executions of the same request
( Muitas execuções simultâneas do mesmo pedido )

gostaria de saber se é possivel chamar uma trigger atravez da outra

o codigo da trigger esta logo abaixo
se alguem poder me ajudar ficarei muito grato

Estou verificanado se o que foi digitado na coluna ACESSO e = N se for
todas as outras tambem serão....

[color=blue:665043db2e]SET TERM ^;
CREATE OR ALTER TRIGGER ´TG_USUARIOS_MENU_ITENS_UP´ FOR ´USUARIOS_MENU_ITENS´
ACTIVE BEFORE UPDATE POSITION 5
AS BEGIN
IF (New.ACESSO = ´N´ ) THEN
UPDATE USUARIOS_MENU_ITENS
SET
INCLUIR = ´N´,
ALTERAR = ´N´,
EXCLUIR = ´N´,
SIGLA = New.ACESSO || New.INCLUIR || New.ALTERAR || New.EXCLUIR
WHERE COD_USUARIO = New.COD_USUARIO AND
COD_MENU = New.COD_MENU;

END
^


Aui eu verifico a atualizacao de cada coluna e monto a coluna sigla ....
CREATE OR ALTER TRIGGER ´TG_USUARIOS_MENU_ITENS_SIGLA_UP´ FOR ´USUARIOS_MENU_ITENS´
ACTIVE AFTER UPDATE POSITION 10
AS BEGIN
IF (Old.ACESSO <> New.ACESSO) THEN
UPDATE USUARIOS_MENU_ITENS
SET SIGLA = New.ACESSO || New.INCLUIR || New.ALTERAR || New.EXCLUIR
WHERE COD_USUARIO = New.COD_USUARIO AND
COD_MENU = New.COD_MENU;



IF (Old.INCLUIR <> New.INCLUIR) THEN
UPDATE USUARIOS_MENU_ITENS
SET SIGLA = New.ACESSO || New.INCLUIR || New.ALTERAR || New.EXCLUIR
WHERE COD_USUARIO = New.COD_USUARIO AND
COD_MENU = New.COD_MENU;

IF (Old.ALTERAR <> New.ALTERAR) THEN
UPDATE USUARIOS_MENU_ITENS
SET SIGLA = New.ACESSO || New.INCLUIR || New.ALTERAR || New.EXCLUIR
WHERE COD_USUARIO = New.COD_USUARIO AND
COD_MENU = New.COD_MENU;

IF (Old.EXCLUIR <> New.EXCLUIR) THEN
UPDATE USUARIOS_MENU_ITENS
SET SIGLA = New.ACESSO || New.INCLUIR || New.ALTERAR || New.EXCLUIR
WHERE COD_USUARIO = New.COD_USUARIO AND
COD_MENU = New.COD_MENU;
END
^
SET TERM ;^
COMMIT WORK[/color:665043db2e]


Alexrol

Alexrol

Responder

Posts

24/11/2004

Maicongabriel

:arrow: Triggers são ligadas a eventos, o que impede de uma trigger chamar outra! Porem, uma stored procedure você pode chamar!


Responder

24/11/2004

Alexrol

Obrigado maicongabriel....

Talvez eu me expressei mal quanto a logica Porem

Ja fiz uma procedure e o problema não e fazer trigger ou procedure e sim o erro que esta me retornando .Tanto com Triggers com Procedures este erro é o mesmo


Responder

Assista grátis a nossa aula inaugural

Assitir aula

Saiba por que programar é uma questão de
sobrevivência e como aprender sem riscos

Assistir agora

Utilizamos cookies para fornecer uma melhor experiência para nossos usuários, consulte nossa política de privacidade.

Aceitar