테이블에 데이타 넣기 0 6 618

by 이상미 [DB 기타] [2017.10.17 22:49:38]


 예를 들면요...A테이블릃 select 해서 데이타가 없으면 B테이블에  insert 넣으려고 합니다..

with 문을 쓰려고 하는데요...어떻게 쿼리를 짜야 할지 모르겠습니다..

가르쳐 주시면 감사 하겠습니다. 디비는 postgresql 입니다

by 우리집아찌 [2017.10.18 08:57:37]

postgresql는 안써보긴했는데 MERGE 문이 있을겁니다. 이걸 이용하세요.


by jkson [2017.10.18 09:16:54]

with 문을 어떤 용도로 쓰시게요?

insert into b
values(acol, bcol)
select * from
(
select '넣을값1' acol, '넣을값2' bcol
)
where not exists (select 1 from a where 검색조건)

그냥 이렇게 하시면 되지 않을까요?


by 김성수 [2017.10.18 09:44:24]

에러나는 구문 아닌지요?


by jkson [2017.10.18 10:57:44]

오라클에서는 from dual 만 붙여주면 오류가 안 나는데 postgresql에서는 테스트 안 해봤습니다.

a테이블에 있는 값을 b에 넣는 것인지

신규 데이터를 입력하는 것인지 자세히 적어주시지 않아

단순히 신규 데이터 입력이라 생각했는데.. 어떤 의미로 작성자님이 질문하신 건지 애매하네요.


by 우리집아찌 [2017.10.18 10:00:28]

테이블 스키마를 올려주세요


by 마농 [2017.10.18 10:54:48]
INSERT INTO b(pk1, pk2, c1, c2, ...)
SELECT pk1, pk2, c1, c2, ...
  FROM a
 WHERE NOT EXISTS (SELECT 1
                     FROM b
                    WHERE b.pk1 = a.pk1
                      AND b.pk2 = a.pk2
                   )
;

 

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