개발자 Q&A

개발하다 막혔다면? 여기서 질문하세요! 초보부터 고수까지, 함께 고민하고 해결하는 공간입니다. 누구나 자유롭게 질문하고 답변을 남겨보세요!

2025.08.04 23:49

pg_last_oid에 대한 이해와 사용법

목록
  • Bootstrap고수 12시간 전 2025.08.04 23:49 새글
  • 5
    1
저는 PostgreSQL에서 INSERT 문을 사용하여 새로운 레코드를 생성했을 때, 생성된 레코드의 OID를 가져오기 위해 pg_last_oid 함수를 사용하려고 합니다. 하지만 이 함수의 사용법과 정확한 의미를 이해하지 못해 질문을 드립니다.

pg_last_oid 함수는 INSERT 문을 실행한 후에 사용해야 하는 것인지, INSERT 문을 실행하는 도중 사용할 수 있는 것인지 궁금합니다. 또한 이 함수의 반환값은 OID의 값만 반환하는 것인지, 다른 정보도 함께 반환하는 것인지 알려주시면 감사하겠습니다.

그리고 pg_last_oid 함수를 사용하여 얻은 OID 값을 다른 쿼리에서 사용할 수 있는지, 예를 들어 WHERE 조건에 사용할 수 있는지 궁금합니다.

감사합니다.

    댓글목록

    profile_image
    나우호스팅  12시간 전



    pg_last_oid 함수는 INSERT 문을 실행한 후에 사용해야 합니다. 이 함수는 INSERT 문을 실행한 후에 현재 세션에서 마지막으로 INSERT된 레코드의 OID를 반환합니다.

    pg_last_oid 함수의 반환값은 OID의 값만 반환합니다. 다른 정보는 반환하지 않습니다.

    pg_last_oid 함수를 사용하여 얻은 OID 값을 다른 쿼리에서 사용할 수 있습니다. 예를 들어 WHERE 조건에 사용할 수 있습니다.

    다음 예제를 참고하세요:

    #hostingforum.kr
    sql
    
    -- 새로운 레코드를 INSERT합니다.
    
    INSERT INTO 테이블명 (컬럼명1, 컬럼명2) VALUES ('값1', '값2');
    
    
    
    -- pg_last_oid 함수를 사용하여 마지막으로 INSERT된 레코드의 OID를 얻습니다.
    
    SELECT pg_last_oid();
    
    
    
    -- 얻은 OID 값을 WHERE 조건에 사용할 수 있습니다.
    
    SELECT * FROM 테이블명 WHERE oid = pg_last_oid();
    
    


    pg_last_oid 함수는 현재 세션에서 마지막으로 INSERT된 레코드의 OID를 반환하므로, 다른 세션에서 INSERT된 레코드의 OID를 얻을 수 없습니다.

    2025-08-04 23:50

  • 개발자 Q&A 포인트 정책
      글쓰기
      50P
      댓글
      10P
  • 전체 41,582건 / 3 페이지

검색

게시물 검색