postgresql 트리거 예제

postgresql 트리거 예제

행 수준 트리거와 명령문 수준 트리거를 사용할 수 있습니다. 영향을 받는 각 행에 대해 행 수준 트리거가 발생합니다. 명령문 수준 트리거는 명령문에 대해 한 번만 발생합니다. 더 간단하게 하기 위해, 문을 고려할 수 있습니다: UPDATE account_current SET 잔액 = 잔액 + 100 WHERE 잔액 > 100000; 이 문을 실행하면 두 개 이상의 행에 영향을 줄 수 있습니다. 테이블에 대해 행 수준 트리거가 정의된 경우 업데이트된 각 행에 대해 트리거가 발생합니다. 그러나 문 수준 트리거라면 한 번만 발사했을 것입니다. CREATE 트리거 문은 PostgreSQL 테이블에서 새 트리거를 만드는 데 사용됩니다. 테이블에 대해 특정 이벤트(예: INSERT, UPDATE 및 DELETE)가 발생하면 활성화됩니다. 트리거 및 저장된 함수를 이해하는 데 투자하려는 이유에 대해 이야기해 보겠습니다. 데이터베이스 자체에 DML 코드를 빌드하면 데이터베이스와 인터페이스하도록 빌드될 수 있는 여러 개의 별도 응용 프로그램에서 데이터 관련 코드의 중복 구현을 방지할 수 있습니다. 이렇게 하면 데이터 유효성 검사, 데이터 정리 또는 데이터 감사(예: 로깅 변경) 또는 호출 응용 프로그램과 독립적으로 요약 테이블을 유지 관리하는 등의 기타 기능을 위해 DML 코드를 일관되게 실행할 수 있습니다.

트리거 및 저장된 함수의 또 다른 일반적인 용도는 복잡한 뷰에 삽입 및/또는 업데이트를 활성화하거나 특정 열 데이터를 무단 수정으로부터 보호하기 위해 뷰를 작성할 수 있도록 하는 것입니다. 또한 응용 프로그램 코드가 아닌 서버에서 처리된 데이터는 네트워크를 교차하지 않으므로 도청에 노출될 위험이 적고 네트워크 정체가 줄어듭니다. 또한 PostgreSQL 저장 함수에서 세션 사용자보다 더 높은 권한 수준에서 코드를 실행하도록 구성할 수 있으며, 이 기능은 강력한 기능을 인정합니다. 나중에 몇 가지 예제를 살펴보겠습니다. 트리거를 사용하면 이벤트가 생성될 때 지정된 타이밍에 프로시저를 등록할 수 있습니다. 타이밍은 이전, 후 또는 대신일 수 있으며 이벤트는 삽입, 업데이트, 삭제 또는 자를 할 수 있습니다. 평소와 같이 PostgreSQL 설명서는 주제를 자세히 다루며 온라인에서 사용할 수 있습니다.

אין תגובות

מצטער, טופס התגובה סגור בשלב זה.