[sql] 트리거를 사용하여 데이터를 분할하는 방법은?
아래는 트리거를 사용하여 데이터를 복사하고 삭제하는 예시 코드입니다.
-- 새로운 테이블 생성
CREATE TABLE new_table (
id INT,
name VARCHAR(100),
... -- 다른 열들
);
-- 데이터를 복사하고 삭제하는 트리거 생성
CREATE TRIGGER split_data_trigger
AFTER INSERT ON original_table
FOR EACH ROW
BEGIN
-- 데이터 복사
INSERT INTO new_table (id, name, ...)
VALUES (NEW.id, NEW.name, ...);
-- 원본 데이터 삭제
DELETE FROM original_table
WHERE id = NEW.id; -- 적절한 조건 사용
END;
이 예시 코드는 original_table
테이블에 새로운 데이터가 삽입될 때마다 해당 데이터를 new_table
로 복사한 후 원본 데이터를 삭제합니다. 물론 실제 환경에서는 데이터를 적절하게 분할하기 위한 추가적인 고려사항이 있을 수 있습니다.
참고 문헌:
- MySQL 공식문서. “CREATE TRIGGER Syntax” - https://dev.mysql.com/doc/refman/8.0/en/create-trigger.html