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 41444 게시물 읽기
No. 41444
두테이블 비교후 자식 레코드가 없는데이터만 삭제방법
작성자
칼로토(caloto)
작성일
2017-07-14 13:14
조회수
6,455

 테이블 a와b가있습니다.  테이블 a와b의 특정컬럼값이 같은 테이블a의 row데이터를 삭제하고

싶습니다. 단, 테이블a의 값들중 자식레코드가있는 값들은 삭제를 피하고싶습니다. 

delete from a where 비교컬럼 in (select a.비교컬럼 from a, b where a.비교컬럼=b.비교컬럼);

이렇게 하면 될거같은데 테이블 a의 데이터들중 자식레코드가있는 데이터가 있고 없는데이터가있어서

중간에 삭제되다가 ora-02292 무결성 제약조건이 위배되었습니다.라고 나오네요. 

제약조건 제거안하고 자식레코드가있는 데이터들은 건너뛰고 자식레코드가 없는데이터만 지울수는

없을까요?

 

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

Delete

   From a

Where Not Exists (

                                     Select 'x'

                                         From b

                                      Where a.비교컬럼 = b.비교컬럼

                                )

최한영(terry0515)님이 2017-07-15 20:00에 작성한 댓글입니다.
[Top]
No.
제목
작성자
작성일
조회
41448DB2 CONNECT_BY_ISLEAF 오류로인한문제;; [1]
초보입니다
2017-08-04
6225
41446otl 사용 시 merge 쿼리 질문 입니다.
김성민
2017-07-21
6299
41445숫자 타입 변환 문제 [4]
도와주세요.
2017-07-19
6514
41444두테이블 비교후 자식 레코드가 없는데이터만 삭제방법 [1]
칼로토
2017-07-14
6455
41443특정 컬럼의 데이터를 안보이게 할 수 있을까요? [2]
궁물노답
2017-07-10
6350
41442하나의 FK가 두 테이블을 참조하는 경우도 있나요?
조동건
2017-07-06
6175
41441그룹잡아서 소분류를 결과로 내고 싶습니다. [2]
봉달이
2017-07-05
6388
Valid XHTML 1.0!
All about the DATABASE... Copyleft 1999-2023 DSN, All rights reserved.
작업시간: 0.048초, 이곳 서비스는
	PostgreSQL v16.1로 자료를 관리합니다