postgresql trigger 예제

TG_TABLE_NAME: 트리거가 발생되는 테이블의 이름입니다. 지정할 때 제약 조건 옵션은 제약 조건 트리거를 만듭니다. 이는 SET 제약 조건을 사용하여 트리거 발생 타이밍을 조정할 수 있다는 점을 제외하면 일반 트리거와 동일합니다. 제약 조건 트리거는 구현하는 제약 조건이 위반될 때 예외를 발생시킬 것으로 예상됩니다. 회사 테이블에 트리거를 만들기 전에 먼저 auditlogfunc(라는 함수/프로시저를 만듭니다.). `AFTER` 키워드는 트리거를 발사한 작업이 트리거가 시작되기 전에 완료된다는 것을 의미합니다. 외부 데이터 래퍼를 사용하여 감사 트리거의 데이터를 원격 데이터베이스로 전송하여 데이터베이스 충돌이 발생할 경우 데이터 손실을 방지할 수 있습니다. PostgreSQL 트리거는 시스템에서 이벤트를 등록하는 트랜잭션에서 추가 비즈니스 논리가 바로 발생할 수 있는 강력한 도구입니다. 이 복잡한 주제에 대한 자세한 생각은 내 문서 SQL 및 비즈니스 논리에서 사용할 수 있습니다. 트리거는 테이블과 연결된 명명된 데이터베이스 개체이며 테이블/뷰에 대해 특정 이벤트(예: 삽입, 업데이트 또는 삭제)가 발생할 때 활성화됩니다. CREATE 트리거라는 문은 PostgreSQL에서 새 트리거를 만듭니다. 다음은 구문입니다 : TG_WHEN : 트리거의 정의에 따라 이전, 후 또는 대신의 문자열은 `업데이트 후`예제에서 두 개의 테이블 student_mast 및 stu_log가 있습니다. student_mast에는 STUDENT_ID, 이름, ST_CLASS 및 stu_log 테이블에는 두 개의 열user_id 및 설명이 있습니다.

student_mast 테이블에서 삭제 작업이 발생한 후 stu_log 테이블에 일부 정보를 저장하려고 합니다. 다음은 트리거입니다: 먼저 함수를 작성하여 시작해 보겠습니다. 나중에 트리거를 만듭니다. 너트와 볼트를 배우는 것에 대해 알아보겠습니다. 트리거를 선언하기 위한 일반 DDL 구문에서 사용할 수 있는 많은 옵션이 있으며 가능한 모든 순열을 처리하는 데 상당한 시간이 걸리므로 간결하게 하기 위해 다음 예제에서는 최소한으로 필요한 하위 집합에 대해서만 이야기하겠습니다. 이 요약 된 구문을 사용 하 여: 저장 된 함수를 사용 하 여, 우리는 호출 된 코드는 무엇을 하는 광범위 한 관용도, 다른 테이블을 참조 포함 하 여 (검사 제약 조건으로 불가능). 보다 복잡한 예로 는 감사 테이블의 구현, 즉 별도의 테이블에서 레코드를 유지 관리하여 주 테이블에 삽입, 업데이트 및 삭제하는 방법을 살펴보겠습니다. 감사 테이블에는 일반적으로 변경된 값을 기록하는 데 사용되는 주 테이블과 동일한 특성과 변경 작업을 위해 실행된 작업을 기록하는 추가 특성과 트랜잭션 타임스탬프 및 사용자 레코드가 포함됩니다. 변경 하기: SQL 트리거 뒤에 아이디어에 대 한 꽤 많이.

당신은 여전히 더 많은 이론이 필요한 경우, 읽기 여기에.

Posted in Uncategorized