
pg_affected_rows 함수는 PostgreSQL에서 INSERT, UPDATE, DELETE 쿼리를 수행한 후 변경된 행의 수를 반환합니다. 그러나 이 함수는 트랜잭션 내에서만 정확한 값을 반환합니다.
트랜잭션 내에서 INSERT, UPDATE, DELETE 쿼리를 수행한 후 pg_affected_rows 함수를 호출하면, 변경된 행의 수를 정확하게 반환합니다.
예를 들어, 다음 쿼리를 수행한 후 pg_affected_rows 함수를 호출하면, 변경된 행의 수를 반환합니다.
#hostingforum.kr
sql
BEGIN;
INSERT INTO 테이블명 (열1, 열2) VALUES ('값1', '값2');
SELECT pg_affected_rows();
COMMIT;
트랜잭션 외부에서 INSERT, UPDATE, DELETE 쿼리를 수행한 후 pg_affected_rows 함수를 호출하면, 변경된 행의 수를 반환하지 않습니다. 이 경우 pg_affected_rows 함수는 이전 트랜잭션의 변경된 행의 수를 반환합니다.
예를 들어, 다음 쿼리를 수행한 후 pg_affected_rows 함수를 호출하면, 이전 트랜잭션의 변경된 행의 수를 반환합니다.
#hostingforum.kr
sql
INSERT INTO 테이블명 (열1, 열2) VALUES ('값1', '값2');
SELECT pg_affected_rows();
pg_affected_rows 함수의 동작 방식은 트랜잭션 내에서만 정확한 값을 반환하는 것입니다. 트랜잭션 외부에서 호출하는 경우 이전 트랜잭션의 변경된 행의 수를 반환합니다.
2025-07-26 06:38