복붙노트

[SQL] 어떻게 CASCADE DELETE를 가능하게하기 위해 테이블을 수정합니까?

SQL

어떻게 CASCADE DELETE를 가능하게하기 위해 테이블을 수정합니까?

나는 사용자를 나타내는 테이블이 있습니다. 사용자가 삭제되면 내가 얻을 :

분명히, DELETE CASCADE 내가 SQL Server의 상상, 그리고 옵션의 요구가 테이블에 추가 될만큼 쉬운 일이 아닙니다.

문제는 : 나는 CASCADE DELETE 옵션을 추가하는 방법을 알아낼 수 없습니다.

내가 사용하고 있습니다 : SQL 서버 2008은 모든 아이디어를 어떻게이 일을?

해결법

  1. ==============================

    1.먼저이 Microsoft 문서를 참조하십시오. 읽어보기. 그래서 여기에 디자인 중에 GUI를 사용하여이 SSMS에서 선택하는 방법의 사진입니다. 외부 키에 추가 된 구문은 "DELETE CASCADE ON"입니다

    먼저이 Microsoft 문서를 참조하십시오. 읽어보기. 그래서 여기에 디자인 중에 GUI를 사용하여이 SSMS에서 선택하는 방법의 사진입니다. 외부 키에 추가 된 구문은 "DELETE CASCADE ON"입니다

  2. ==============================

    2.다음 ALTER 표 ADD 제약 구글 ALTER TABLE DROP CONSTRAINT :

    다음 ALTER 표 ADD 제약 구글 ALTER TABLE DROP CONSTRAINT :

    ALTER 표

    다음은 간단한 예제이다 :

    CREATE TABLE A 
    (
     ID INTEGER NOT NULL UNIQUE
    );
    
    CREATE TABLE B 
    (
     ID INTEGER NOT NULL UNIQUE
        CONSTRAINT fk__B__A 
           REFERENCES A (ID)
    );
    
    -- Oops! Forgot the CASCADE referential actions.
    -- DROP the constraint then recreate it:
    
    ALTER TABLE B DROP
       CONSTRAINT fk__B__A;
    
    ALTER TABLE B ADD
       CONSTRAINT fk__B__A
          FOREIGN KEY (ID)
          REFERENCES A (ID)
          ON DELETE CASCADE
          ON UPDATE CASCADE;
    
  3. ==============================

    3.저는 여기에 SQL Server Management Studio를 기존 외래 키에 "계단식 삭제"기능을 추가하는 방식이다.

    저는 여기에 SQL Server Management Studio를 기존 외래 키에 "계단식 삭제"기능을 추가하는 방식이다.

    먼저, 외부 키를 발견하고 그것의 열기 "DROP을하고 만들기"새 쿼리 창에.

    그런 다음, 바로 "ADD 제약"명령에 "DELETE CASCADE ON"추가 :

    그럼 그냥 히트 쿼리를 실행하려면 "실행"버튼을 누르십시오.

    작업이 완료!

  4. from https://stackoverflow.com/questions/4454861/how-do-i-edit-a-table-in-order-to-enable-cascade-delete by cc-by-sa and MIT license