logo

English

이곳의 프로그래밍관련 정보와 소스는 마음대로 활용하셔도 좋습니다. 다만 쓰시기 전에 통보 정도는 해주시는 것이 예의 일것 같습니다. 질문이나 오류 수정은 siseong@gmail.com 으로 주세요. 감사합니다.

SQLite 활용 팁 3 - 다른 DB 테이블에 트리거 사용하기

by digipine posted Nov 01, 2017
?

Shortcut

PrevPrev Article

NextNext Article

Larger Font Smaller Font Up Down Go comment Print
?

Shortcut

PrevPrev Article

NextNext Article

Larger Font Smaller Font Up Down Go comment Print

SQLite에서는 Attach 하는 방법으로 다른 DB의 테이블을 마치 내 DB안의 테이블 처럼 사용할 수 있습니다.
그런데 Trigger도 사용이 가능할까요. 예를 들어 백업 용으로 같은 DB를 두개 만들고 한 DB 테이블에
INSERT가 되면 백업용 DB파일에도 같은 내용이 INSERT 되도록 Trigger를 만들 수 있을까하는 것인데

원칙적으로는 안된다고 한다. 
http://www.sqlite.org/lang_createtrigger.html 참조하시라
그런데 Temporary 트리거라는 것을 이용하면된다.
다른 DB 테이블은 그 DB가 Attach되지 않으면 사용할 수 없다 따라서 정식 트리거로 등록할 수 없는데
아래와 같이 Temporary 로 등록하는 편법을 사용하면 할수있다. 
그런데 INSERT 되는 Table이 Attcah 된 테이블이어야 한다는 제약이 따른다.

그나마 될 수 있다는 것이 다행이다.

 

아래 예제를 참조

CREATE TEMPORARY TRIGGER [LOG_BACKUP_TRIGGER]
AFTER INSERT ON BACKUP.[USER_LOG2] /* Attach 된 테이블에 INSERT */
FOR EACH ROW
BEGIN
     INSERT INTO USER_LOG(REGTIME, UID, CARD_TYPE, GRADE, REISSUE, MODE, 
                                   MATCHING_TYPE, MANAGER, STATUS, AUTH, KEY)
            VALUES(new.REGTIME, new.UID, new.CARD_TYPE, new.GRADE, new.REISSUE, 
                 new.MODE, new.MATCHING_TYPE, new.MANAGER, new.STATUS, 
                             new.AUTH, new.KEY); /* MAIN 테이블에 INSERT */
END

TAG •

List of Articles
No. Subject Author Date Views
22 SQLite 활용 팁 2 - 트리거 실전 사용하기 digipine 2017.11.01 461
21 SQLite 활용 팁 1 - 트리거 활용하기 digipine 2017.11.01 481
20 SQLite 활용 팁 2 - 트리거 실전 사용하기 digipine 2017.11.01 545
19 서블릿(Servlet) 이란 무엇인가? siseong@naver.com 2017.11.01 599
18 Docker를 통한 MySQL 설치하기 lizard2019 2021.04.15 663
17 MySQL 5.7.x 버전 root 및 유저 암호(Password) 변경 digipine 2017.11.02 719
16 Ubuntu에서 sqlite3 빌드 방법 digipine 2017.11.01 758
15 MySQL Data Backup - Database Dump 방법 및 복구 방법 엉뚱도마뱀 2017.11.18 765
14 HTTP Multi Part Request Sample Format digipine 2017.11.01 809
» SQLite 활용 팁 3 - 다른 DB 테이블에 트리거 사용하기 digipine 2017.11.01 815
12 MySQL 시작할때 No directory, logging in with HOME=/ 에러 해결 방법, 홈 디렉토리 변경 digipine 2021.05.06 829
11 Ubuntu mySql 완전 삭제하기 lizard2019 2021.04.15 943
10 SyBase 와 JSP 연동 digipine 2017.10.28 985
9 SyBase 사용법 요약 digipine 2017.10.28 1107
8 Choosing a free database - DB2 digipine 2017.10.29 1255
7 [Oracle] SQL*Plus 개요,각종 명령어들 digipine 2017.10.28 1346
6 MS Access MDB를 위한 DB Connection String digipine 2017.10.29 1724
5 Apache Tomcat 설치후 관리자 모드 실행 되지 않을때 문제 해결방법 digipine 2017.11.01 3070
4 Eclipse, JSP, Beans 실습하기 digipine 2017.10.29 3143
3 MySQL root 비밀번호 변경하기 (MySQL 5.7버전 이상) lizard2019 2019.06.10 3317
Board Pagination Prev 1 2 Next
/ 2