최대값 구해서 values에 insert 0 2 3,139

by db초보 [Oracle 기초] oracle [2018.10.04 14:53:14]


aa테이블에서 bb필드의 최대값을 구한다음에 cc테이블에 최대값하고 나머지 값들을 저장할려고 합니다

그런데 찾아보니깐 values에 select해서 값을 못가져온다고 하더라고요

그러면 처음에 db통신해서 aa테이블에서 bb 최대값을 구한다음에 변수에 넣고

cc테이블 insert할때 최대값구한 변수를 같이 넣으면 db두번 통신하는건데 한번에 하는 방법이 있나요?

제가 밑에처럼 시도했었습니다

insert into cc(zz,yy) values(select max(bb)+1 from aa,'1')

by 마농 [2018.10.04 15:45:05]

1. 서브쿼리 사용 가능합니다.
  - 괄호가 빠져서 안된 거네요.
  - INSERT INTO cc(zz, yy) VALUES((SELECT MAX(bb) + 1 FROM aa), '1');
2. insert ~ values 대신
  - insert ~ select 사용하는 방법도 있습니다.
  - INSERT INTO cc(zz, yy) SELECT MAX(bb) + 1, '1' FROM aa;


by db초보 [2018.10.04 16:18:46]

매번 답변 고맙습니다~~

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