Ir para o conteúdo
  • Revista PROGRAMAR: Já está disponível a edição #60 da revista programar. Faz já o download aqui!

diokhan

trigger before ou after?

Mensagens Recomendadas

diokhan

boas,

eu tenho uma duvida, qual é a melhor politica num trigger? ser before ou after? eu fiz uns triggers na minha base de dados, e fiz tudo after a pensar que se por exemplo num insert houver erros o trigger não será disparado, a lógica é essa ou há vantagens em determinadas situações utilizar o before? :hmm:


...Join the dark side...and get a free cookie...

Partilhar esta mensagem


Ligação para a mensagem
Partilhar noutros sites
M6

A ideia do before e do after é poderes actuar sobre os dados em momentos diferentes.

Se ocorrer um erro no comando, os triggers não são despoletados.


10 REM Generation 48K!
20 INPUT "URL:", A$
30 IF A$(1 TO 4) = "HTTP" THEN PRINT "400 Bad Request": GOTO 50
40 PRINT "404 Not Found"
50 PRINT "./M6 @ Portugal a Programar."

 

Partilhar esta mensagem


Ligação para a mensagem
Partilhar noutros sites
diokhan

então pelo que disseste, se a minha query de insert ou update ou delete conter um erro e no trigger tiver after o trigger não será accionado? era essa a minha dúvida, entao os triggers só são accionados se o comando for realizado com sucesso.

então no meu caso se tiver after tenho bem, não teria lógica para mim ser o before, porque assim caso haja um erro o trigger não será accionado.

obrigado por esclarecer a minha dúvida :D


...Join the dark side...and get a free cookie...

Partilhar esta mensagem


Ligação para a mensagem
Partilhar noutros sites
M6

Podes esclarecer essas dúvidas na documentação da base de dados, mas se o comando tem um erro então não vai ser executado e como tal um trigger antes ou depois associado ao mesmo também não vai ser executado.


10 REM Generation 48K!
20 INPUT "URL:", A$
30 IF A$(1 TO 4) = "HTTP" THEN PRINT "400 Bad Request": GOTO 50
40 PRINT "404 Not Found"
50 PRINT "./M6 @ Portugal a Programar."

 

Partilhar esta mensagem


Ligação para a mensagem
Partilhar noutros sites
diokhan

eu tinha a ideia que por exemplo, se tenho um trigger before mas o comando tem um erro, logo o trigger como é before já tinha sido executado

desde já agradeço o esclarecimento :D


...Join the dark side...and get a free cookie...

Partilhar esta mensagem


Ligação para a mensagem
Partilhar noutros sites

Crie uma conta ou ligue-se para comentar

Só membros podem comentar

Criar nova conta

Registe para ter uma conta na nossa comunidade. É fácil!

Registar nova conta

Entra

Já tem conta? Inicie sessão aqui.

Entrar Agora

×

Aviso Sobre Cookies

Ao usar este site você aceita os nossos Termos de Uso e Política de Privacidade. Este site usa cookies para disponibilizar funcionalidades personalizadas. Para mais informações visite esta página.