본문 바로가기
Save Base/혼공단

혼공학습단 9기 - 혼자 공부하는 SQL 6주차

by 멘탈은안녕하신가 2023. 2. 14.
728x90
반응형

#혼공학습단 #혼공 #혼공S

  진도 기본 미션 선택 미션
6주차
(2/13 ~ 2/19)
Chapter 07 ~ 08 p. 363 market_db의 고객 테이블(member)에 입력된 회원의 정보가 변경될 때 변경한 사용자, 시간, 변경 전의 데이터 등을 기록하는 트리거 작성하고 인증하기 p. 402 GUI 응용 프로그램 만들고 인증하기

- 기본 미션

: p. 363 market_db의 고객 테이블(member)에 입력된 회원의 정보가 변경될 때 변경한 사용자, 시간, 변경 전의 데이터 등을 기록하는 트리거 작성하고 인증하기

기존 singer 테이블

0. trigger 추가

Trigger 추가

1. update문 실행 시

singer 테이블
backup_singer 테이블

 

2. delete문 실행 시

좌: singer 테이블 / 우: backup_singer 테이블

 

3. delete문과 동일한 효과를 갖는 truncate 문 실행 시 singer에 들어있는 데이터는 삭제되지만 backup_singer 테이블에는 입력되지 않음, trigger에서 동작하는 조건을 'delete'문 한정으로 했기 때문.

 

 

- 선택 미션

: p. 402 GUI 응용 프로그램 만들고 인증하기

좌좌잔~

 

- 여담

: 아이고 오랜만에 코드 치기 힘들다... 파이썬 gui 오랜만이네... 반갑반갑!

그리고 trigger랑 proceduer 안쓰다보니까 DBeaver에서 동작 안하는 것도 몰랐네... 혹시나 workbench 말고 다른 툴 쓰시는 분이 있다면 delimiter가 사용되는지부터 확인해보시길...!

 

DBeaver - delimiter 사용 불가

DBeaver에서 TRIGGER, Procedure 문법 활용 시 사용되는 DELMITER 명령문은 DBeaver에서 사용할 수 없음. 아래와 같은 결과가 출력되며 실행되지 않음 참조 : https://stackoverflow.com/questions/72350549/trigger-doesnt-get-c

commontoday.tistory.com

 

728x90
반응형

댓글