반응형
예를들어 A라는 테이블이 있는데 그대로 어떤 테이블에 데이터를 넣고 싶은 경우 아래와 같이 할 수 있다.
-- 테이블 A의 컬럼 정보를 조회하는 쿼리
SELECT GROUP_CONCAT(COLUMN_NAME) INTO @columns
FROM INFORMATION_SCHEMA.COLUMNS
WHERE TABLE_NAME = 'A' AND TABLE_SCHEMA = DATABASE();
-- 트리거 생성 스크립트를 생성하는 쿼리
SET @trigger_sql = CONCAT('
CREATE TRIGGER insert_into_b_after_a
AFTER INSERT ON A
FOR EACH ROW
BEGIN
INSERT INTO B (', @columns, ')
VALUES (', REPLACE(@columns, ',', ', NEW.'), ');
END;');
-- 트리거 생성
PREPARE stmt FROM @trigger_sql;
EXECUTE stmt;
DEALLOCATE PREPARE stmt;
반응형
'DB(SQL) > mysql|maria' 카테고리의 다른 글
[Mysql] MySQL 8 Bugs (0) | 2024.08.06 |
---|---|
[mysql] mariadb 있는 곳에 mysql install 도전 (feat. 포기) (0) | 2024.07.30 |
[MariaDB] GRANT ALL PRIVILEGES / Trigger 이슈 (0) | 2024.05.28 |
[DB] PMM(Percona Monitoring and Management) Server 설정 (feat. 미완성된 글입니다.) (0) | 2023.04.25 |
[MariaDB] Create Procedure(프로시저) (0) | 2023.01.12 |