PLPGSQL로 작성된 트랙잭션 관련 처리 함수 예제입니다.
CREATE TABLE test1 (id int);
CREATE PROCEDURE test_tx_proc()
AS $$
BEGIN
FOR i IN 0..4 LOOP
INSERT INTO test1 (id) VALUES (i);
IF i % 2 = 0 THEN
RAISE NOTICE 'i=%, txid=% will be committed', i, txid_current();
COMMIT;
ELSE
RAISE NOTICE 'i=%, txid=% will be rolledback', i, txid_current();
ROLLBACK;
END IF;
END LOOP;
END
$$
LANGUAGE PLPGSQL;
'RDB > PostreSQL' 카테고리의 다른 글
PostgreSQL 12 transactions (0) | 2020.04.22 |
---|---|
PostgreSQL 12에 신규 기능 (0) | 2020.04.20 |
PostgreSQL 병렬 쿼리 (0) | 2020.03.23 |
PostgreSQL 파티션 (0) | 2020.03.23 |
postgresql 10 설치 (0) | 2020.03.11 |