Jump to content
  • Revista PROGRAMAR: Já está disponível a edição #60 da revista programar. Faz já o download aqui!

diokhan

trigger before ou after?

Recommended Posts

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? 🤔


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

Share this post


Link to post
Share on other 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."

 

Share this post


Link to post
Share on other 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...

Share this post


Link to post
Share on other 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."

 

Share this post


Link to post
Share on other 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...

Share this post


Link to post
Share on other sites

Create an account or sign in to comment

You need to be a member in order to leave a comment

Create an account

Sign up for a new account in our community. It's easy!

Register a new account

Sign in

Already have an account? Sign in here.

Sign In Now

×

Important Information

By using this site you accept our Terms of Use and Privacy Policy. We have placed cookies on your device to help make this website better. You can adjust your cookie settings, otherwise we'll assume you're okay to continue.