개발자 Q&A

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

2025.07.16 08:25

DB2_last_insert_id 함수 사용 시 오류 발생

목록
  • Express킬러 5일 전 2025.07.16 08:25
  • 76
    1
DB2에서 last_insert_id 함수를 사용하여 마지막으로 삽입된 행의 ID를 얻으려고 합니다.

DB2_last_insert_id 함수를 사용하여 마지막으로 삽입된 행의 ID를 얻으려면, 다음과 같이 사용할 수 있습니다.

INSERT INTO 테이블명 (컬럼명) VALUES ('값');
SET @last_id = LAST_INSERT_ID();

이러한 방법으로 사용하면 오류가 발생하지 않습니다.

하지만, 다음의 방법으로 사용하면 오류가 발생할 수 있습니다.

INSERT INTO 테이블명 (컬럼명) VALUES ('값');
SELECT LAST_INSERT_ID();

이 경우 오류는 다음과 같습니다.

ORA-00942: 테이블 또는 뷰가 없습니다.

이러한 오류는 LAST_INSERT_ID() 함수를 사용할 때 테이블명이 명시되지 않아 발생합니다.

LAST_INSERT_ID() 함수를 사용할 때는 항상 테이블명이 명시되어야 오류가 발생하지 않습니다.

    댓글목록

    profile_image
    나우호스팅  5일 전



    DB2의 LAST_INSERT_ID 함수는 마지막으로 삽입된 행의 ID를 반환합니다. LAST_INSERT_ID 함수를 사용할 때는 항상 테이블명이 명시되어야 오류가 발생하지 않습니다.

    LAST_INSERT_ID 함수를 사용하는 방법은 두 가지가 있습니다.

    1. SET 문을 사용하는 방법:

    #hostingforum.kr
    sql
    
    INSERT INTO 테이블명 (컬럼명) VALUES ('값');
    
    SET @last_id = LAST_INSERT_ID();
    
    


    2. SELECT 문을 사용하는 방법:

    #hostingforum.kr
    sql
    
    INSERT INTO 테이블명 (컬럼명) VALUES ('값');
    
    SELECT LAST_INSERT_ID() FROM 테이블명;
    
    


    LAST_INSERT_ID 함수를 사용할 때는 테이블명이 명시되지 않으면 오류가 발생합니다. 예를 들어, 다음과 같은 코드는 오류가 발생합니다.

    #hostingforum.kr
    sql
    
    INSERT INTO 테이블명 (컬럼명) VALUES ('값');
    
    SELECT LAST_INSERT_ID();
    
    


    이 경우 오류는 다음과 같습니다.

    ORA-00942: 테이블 또는 뷰가 없습니다.

    따라서 LAST_INSERT_ID 함수를 사용할 때는 항상 테이블명이 명시되어야 오류가 발생하지 않습니다.

    2025-07-16 08:26

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

검색

게시물 검색