우선 이렇게 2개의 테이블을 생성해놓는다. 테이블의 컬럼에는 단 한개의 컬럼만 넣어줬다.
(테스트만 할 것이기 때문에) 여기서 트리거를 생성해주는데 after로 먼저 예를 들어본다. 그림처럼 이해하면 편하다. after는 앞에 써놓은 dml문처럼 insert, update를 먼저 수행하고 그 후에 프로시져를 수행한다고 생각하면 편하다.
이렇게 함수를 작성해준다. 내가 해볼 테스트는 넣은 밸류값에 +1을 더해서 출력되게 하는 함수를 만들어줄 것이다.
그 후에 이렇게 값을 넣어주고 select로 조회해본다. select * from tb_test1을 조회했을 때는 값 그대로 40000~이 나온다. insert를 해줬기 때문에 그대로 출력이 됐다. 그에 반해 select * from tb_test2는 40000001이 나왔다.
함수를 탔기 때문이다. 생성했던 트리거를 지우고 before로 다시 만들어보자.
함수도 그대로 두고 다시 insert 작성한다. 이렇게 작성을 해주고 select *...
#
after
#
triggerbefore
#
triggerafter
#
tablebefore
#
tableafter
#
table
#
sqlbeforeafter
#
beforeaftersql
#
before
#
트리거