database.sarang.net
UserID
Passwd
Database
DBMS
MySQL
PostgreSQL
Firebird
ㆍOracle
Informix
Sybase
MS-SQL
DB2
Cache
CUBRID
LDAP
ALTIBASE
Tibero
DB 문서들
스터디
Community
공지사항
자유게시판
구인|구직
DSN 갤러리
도움주신분들
Admin
운영게시판
최근게시물
Oracle Q&A 21461 게시물 읽기
No. 21461
쿼리문 조언을 구합니다.
작성자
김세영
작성일
2005-01-18 19:31
조회수
1,686

A Table

read_date read_data
2005-01-05 aabbcccdddeeeffff
2005-01-05 ggddcccdddeeeffff
2005-01-05 rraacccgggeeehhhh
2005-01-06 ggddcccdddeeeffff

 

B Table

read_date x1 x2 x3 x4 x5 x6
2005-01-05 gg dd ccc ddd eee ffff


A테이블과 b테이블에 위와 같은 데이타가 있을때
A테이블의 데이터를 B테이블에 넣고자 합니다.
A와 B테이블 모두 PK설정은 안되어 있는 상태이구요.

단 read_date와 x1 ~ x5 까지 중복되는 데이터는 넣지 않았으면 좋겠고요..

Insert into a
select read_date,
substr(read_data,1,2),
substr(read_data,3,2),
substr(read_data,5,3),
substr(read_data,8,3),
substr(read_data,11,3),
substr(read_data,14,4)
from b
where 조건
and 조건
and not exists (select read_date,x1,x2,x3,x4,x5 from b)

저는 이런식으로 쿼리문을 작성하였느데요.. 맞는건가요?
맞는 다면 where절 이하 조건만 변경하여 다른 쿼리문을 날렸을 경우 Data 가
입력이 안되는 이유는 무엇일까요. 물론 중간에 commit는 이루어진 상태구요
not exists 문을 제외하면 Data 도 물론 입력이 됩니다.
위 쿼리문을 한번 날리고 나면 다음 부터는 입력이 안됩니다.
제발 고수님들의 조언 부탁드립니다.

이 글에 대한 댓글이 총 3건 있습니다.

and not exists (select read_date,x1,x2,x3,x4,x5 from b)

위에 문장이 잘못됐네요..

b에 데이터가 있으니 당연히 select가 안되겠죠?

 

님이 원하시는건 a에  b와 같은 데이터가 없는 경우에만 insert하고 싶은 것이니 a와 b의 각각의 컬럼을 비교하시면 되겠네요

 

Insert into a
select distinct read_date,
substr(read_data,1,2),
substr(read_data,3,2),
substr(read_data,5,3),
substr(read_data,8,3),
substr(read_data,11,3),
substr(read_data,14,4)
from b bb
where not exists ( select read_date

                              from a aa

                            where aa.read_date =  bb.read_date

                               and aa.x1 = substr(bb.read_data,1,2)

                               and aa.x2 = substr(bb.read_data,3,2)

                               and aa.x3 = substr(bb.read_data,5,3)

                               and aa.x4 = substr(bb.read_data,8,3)

                               and aa.x5 = substr(bb.read_data,11,3))

 

 

 

Sun님이 2005-01-19 01:21에 작성한 댓글입니다. Edit

앗, 올리고보니, A와 B가 바꼈네요...^^;

Sun님이 2005-01-19 01:25에 작성한 댓글입니다. Edit

아.. 그런거였군요.. 감사합니다.. ㅎㅎㅎ

김세영님이 2005-01-19 10:00에 작성한 댓글입니다. Edit
[Top]
No.
제목
작성자
작성일
조회
21464java에서 Long 형에 데이터 insert, update, select [답] [1]
윤병찬
2005-01-18
7730
21463tokenizer같은 oracle 함수 [1]
sunny
2005-01-18
1947
21462쿼리문장으로 계층구조를 표현하려고 합니다. [4]
궁금이
2005-01-18
3603
21461쿼리문 조언을 구합니다. [3]
김세영
2005-01-18
1686
21460summary table 생성 질문 [1]
이런저런
2005-01-18
1401
21459PHP와 오라클 연동시 ORA-12514에러가 납니다. [1]
류기환
2005-01-18
2622
21457ftp 연결하는 스크립트 좀 봐주시겠습니까.. [1]
초보에요
2005-01-18
1430
Valid XHTML 1.0!
All about the DATABASE... Copyleft 1999-2024 DSN, All rights reserved.
작업시간: 0.018초, 이곳 서비스는
	PostgreSQL v16.2로 자료를 관리합니다