function

🎯 Goals 트리거 , 트랜잭션 내에서 언제 실행될까? 3가지 타입의 트리거 BEFORE ✅ AFTER (Only handle this in this post) INSTEAD OF 각 트리거 타입에 따라 Default Behavior 가 다르므로 꼭 공식문서를 참조하길 바란다. 이 글에선 `AFTER` 트리거만 다룬다. 아래 SQL문을 보고 실행 결과를 예상해보자. Each statement? vs After all transaction `COMMIT()`? 당연히 나는 후자로 알고있었다, 트랜잭션의 모든 Statement 가 끝난 후에 `COMMIT()` 된 시점에 트리거가 발동할 줄 알았다. 예상한 로그는 다음과 같다. ❌ 틀렸다, 각 문장마다 곧바로 트리거가 실행됐다. 공식 문서 훔쳐보기 Row-..
1. 함수 사용 방법 함수 선언 리턴 타입이 `TRIGGER` 일 때 이 때는 반드시 트리거가 파라미터를 넘겼을 때 `TG_ARGV` 로 받아야한다. plpgsql 언어로 함수를 정의하고 리턴타입이 `TRIGGER` 인 경우, 자동으로 다음과 같은 변수가 블록 최상단에 선언된다. NEW 레코드 타입, 새로 `INSERT | UPDATE` 된 로우 DELTE에 대해서는 null 값을 가짐 OLD 레코드 타입, 변경 전 `UPDATE | DELETE` 된 로우 INSERT에 대해서는 null 값을 가짐 TG_ARGV[] text 배열, 파라미터를 받아올 때 이 키워드로 받아와야함. 트리거 함수는 반드시 NULL이나 레코드 타입을 반환해야함. 트리거 트리거 선언 네이밍 컨벤션 함수 fn_ postgreSQL ..
M_Falcon
'function' 태그의 글 목록