[sql] 트리거를 사용하여 데이터를 역순으로 정렬하는 방법은?
아래는 데이터가 삽입될 때 자동으로 역순으로 정렬되도록 하는 테이블과 트리거의 예제입니다.
먼저, 정렬할 데이터가 있는 items
테이블을 만들어 봅시다.
CREATE TABLE items (
id INT PRIMARY KEY,
name VARCHAR(100)
);
다음으로, 데이터를 삽입할 때 자동으로 역순으로 정렬하는 트리거를 만들어 봅시다.
DELIMITER //
CREATE TRIGGER reverse_order
BEFORE INSERT ON items
FOR EACH ROW
BEGIN
DECLARE max_id INT;
SELECT MAX(id) INTO max_id FROM items;
IF max_id IS NULL THEN
SET NEW.id = 1;
ELSE
SET NEW.id = max_id + 1;
END IF;
END//
DELIMITER ;
위의 트리거는 데이터가 삽입될 때마다 id
를 역순으로 정렬하도록 설정합니다.
이제 데이터를 삽입하면, 트리거에 의해 자동으로 역순으로 정렬된 상태로 저장됩니다.