[sql] 트리거를 사용하여 데이터를 검색하는 방법은?
트리거는 데이터베이스에서 특정 이벤트가 발생할 때 자동으로 실행되는 저장 프로시저입니다. 따라서 트리거를 사용하여 데이터를 검색하려면 해당 이벤트가 발생했을 때 트리거가 실행되도록 설정해야 합니다. 트리거는 주로 데이터의 변경에 반응하여 특정 작업을 수행하는 데 사용됩니다.
트리거를 사용하여 데이터를 검색하는 예시를 살펴보겠습니다. 아래는 데이터 변경 시 해당 내용을 기록하는 트리거를 만드는 SQL 예시입니다.
CREATE TRIGGER audit_trigger
AFTER INSERT OR UPDATE OR DELETE ON employee
FOR EACH ROW
BEGIN
INSERT INTO audit_table (action, timestamp, user, table_name)
VALUES ('A change occurred', CURRENT_TIMESTAMP, current_user(), 'employee');
END;
위 예시에서는 employee 테이블에 새로운 레코드가 삽입되거나 업데이트, 삭제될 때마다 audit_table에 해당 내용을 기록하는 트리거를 생성합니다.
이렇게 생성된 트리거는 데이터의 변경 이벤트가 발생할 때마다 audit_table에 정보를 기록하므로, 이를 통해 데이터를 검색할 수 있습니다. 트리거를 사용하면 데이터 변경 이력을 추적하거나 특정 이벤트에 대한 반응으로 자동 검색 등을 수행할 수 있습니다.
참고 문헌:
- https://www.postgresql.org/docs/13/plpgsql-trigger.html