[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를 역순으로 정렬하도록 설정합니다.

이제 데이터를 삽입하면, 트리거에 의해 자동으로 역순으로 정렬된 상태로 저장됩니다.