[SQL] 나는 CASCADE DELETE 규칙을 사용해야합니까? [복제]
SQL나는 CASCADE DELETE 규칙을 사용해야합니까? [복제]
난 항상 너무 DELETE CASCADE를 사용하는 무서워하지만, 좀 더 자신감을 얻을로 봤는데 (게으른 : D), 내가 나쁜 그것을 할 수있는 방법을 생각하고, 그것은 가장 좋은 방법은 그것을 사용하거나 그것을 피해야하고 청소 내 외래 키 등 (저장 프로 시저) 구식 방법은?
해결법
-
==============================
1.DELETE CASCADE ON 괜찮지 만, 종속 행이 정말 경우에만 행의 논리적 확장은 삭제되는. 명확하게 헤더와 몇 가지 라인으로 구성 순서를 삭제할 때문에 DELETE 주문 관련 ORDER_LINES을 삭제하는 예를 들어, OK입니다. ORDERS가 자신의 권리를 중요하기 때문에 다른 한편으로는, DELETE 고객은 고객의 속성 그렇지 않은, 관련 ORDERS를 삭제하지 않아야합니다.
DELETE CASCADE ON 괜찮지 만, 종속 행이 정말 경우에만 행의 논리적 확장은 삭제되는. 명확하게 헤더와 몇 가지 라인으로 구성 순서를 삭제할 때문에 DELETE 주문 관련 ORDER_LINES을 삭제하는 예를 들어, OK입니다. ORDERS가 자신의 권리를 중요하기 때문에 다른 한편으로는, DELETE 고객은 고객의 속성 그렇지 않은, 관련 ORDERS를 삭제하지 않아야합니다.
이것에 대해 생각하는 한 가지 방법은 다음과 같습니다 나는 DELETE X를 발행하고 또한 Y를 삭제하면, 내가 행복이나 불행이 될 것인가? 내가 DELETE X를 발행하고 이야기하고있는 경우 "Y가 존재하기 때문에 삭제 X는 없습니다"그리고 보호의 기뻐하거나 불편에 자극 것인가?
-
==============================
2.나는 일반적으로 옵트를 모두 삭제 사용하는 저장 프로 시저를 통해 삭제하지 그래서 나는, (명시 적으로 선언하여) 삭제 정확히 제어 할 수있다 선호한다.
나는 일반적으로 옵트를 모두 삭제 사용하는 저장 프로 시저를 통해 삭제하지 그래서 나는, (명시 적으로 선언하여) 삭제 정확히 제어 할 수있다 선호한다.
from https://stackoverflow.com/questions/278392/should-i-use-the-cascade-delete-rule by cc-by-sa and MIT license
'SQL' 카테고리의 다른 글
[SQL] 하지 액세스 SqlTransaction 객체는 catch 블록에서 롤백 할 수 (0) | 2020.06.03 |
---|---|
[SQL] 데이터베이스 좋은지 나쁜지에 VARCHAR 외부 키로 / 기본 키? (0) | 2020.06.03 |
[SQL] 어떻게 PostgreSQL 데이터베이스 테이블의 컬럼의 위치를 변경합니까? (0) | 2020.06.03 |
[SQL] 안드로이드에서 준비된 문으로 쿼리? (0) | 2020.06.03 |
[SQL] 오라클에 삽입하여 생성 된 시퀀스 ID를 입수 (0) | 2020.06.03 |