외래키 제약조건에서 cascade 다음에 Not Valid 를 붙이면 0 3 1,146

by ampwings [2016.12.23 06:22:44]


안녕하세요. 

외래키 제약조건에서 cascade 다음에 Not Valid 를 붙이면 어떤게 되는 건가요? 

 

ex)

ALTER TABLE Account
 ADD CONSTRAINT FK_users_TO_Account
  FOREIGN KEY (
   id 
  )
  REFERENCES MY_SCHEMA.users ( 
   id 
  )
  ON UPDATE NO ACTION ON DELETE CASCADE
  NOT VALID;

by jkson [2016.12.23 08:29:12]

db 종류가 뭐죠? not valid 붙이는 거 찾아봐도 못 찾겠는데요.


by 미스틱매니아 [2016.12.23 14:10:16]

찾아보니 PostgerSQL에서 NOT VALID 옵션 쓰이는 군요.

기존 데이터 들이 constraint를 만족하는지를 무시하고 constraint를 생성한다고 합니다. 다만 새로 들어오는 DML에 대해서만 constraint 체크하고요


by ampwings [2016.12.23 18:39:19]

저는 전체RDBMS 에서 쓰이는 줄로만 알았습니다.

트리거 생성할때 만 쓰나? 했는데 그게 아니었네요.. 
몇번을 보고 이해했습니다. ^^
미스틱매니아님 답변주셔서 감사합니다.

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