Insert select 쿼리 0 2 265

by 별님 [SQL Query] Insert select [2021.01.20 15:19:09]


안녕하세요!

어디를 참고해야 할지 또는 방법이 있는지요? 문의 드립니다.

두개 테이블의 정보를 집계성 테이블에 insert  하려고 합니다. (조건은 union all을 사용하지 않는 방법)

Insert  tnto  A_테이블(최종일련번호, 총건수)

values(

 (select  nvl(max(일련번호),0)+1   from  B_테이블  where 기준일자='20210120')

,(select count(*) from  C_테이블)

)

이런식으로 하려고 하는데요, ora-947 오류가 납니다.

by 마농 [2021.01.20 15:46:53]

ORA-00947 not enough values 값의 수가 충분하지 않습니다.
예) INS ERT INTO a(c1, c2, c3) VALUES('a', 'b');  -- 컬럼은 3개인데 값은 2개


by 별님 [2021.01.20 18:41:59]

확인 했습니다. 

select 시, 바인딩 컬럼을 포함한 여러건을 추출 했더니, 오류가 발생 했습니다. 저는 insert 컬럼 갯수와 select 컬럼 총 갯수가 동일하면 문제가 없을거라고 착각을 했네요.

감사합니다.

댓글등록
SQL문을 포맷에 맞게(깔끔하게) 등록하려면 code() 버튼을 클릭하여 작성 하시면 됩니다.
로그인 사용자만 댓글을 작성 할 수 있습니다. 로그인, 회원가입