거대한 데이터베이스 (SQL Server)를 청소하고 있으며 업데이트 구문이 PK 테이블을 위반하는 경우 행을 삭제할 수 있는지 알고 싶습니다.스크립트를 종료하지 않고 sql 스크립트에서 기본 키 위반을 처리하려면 어떻게해야합니까?
나는 이런 식으로 뭔가 싶어 :
UPDATE EMODCONCT SET CODPERLET = '2003' WHERE CODPERLET = '2003BI'
IF "UPDATE VIOLATES PK OF EMODCONCT" THEN
DELETE FROM EMODCONCT WHERE CODPERLET = '2003BI'
END
<DON'T SHOW ANY ERROR AND CONTINUE THE EXECUTION OF THE SCRIPT>
이런 종류의 오류 및 오류에 의해 중단없이 실행을 계속 명령을 감지 할 수있는 플래그가 거기를?
감사합니다.
테이블간에 PK/FK 관계를 올바르게 설정했다면 pkData가 기본 테이블에서 사용 가능하지 않으면 업데이트 할 수 없습니다. – Kaf
그래서 .... PK의 값을 변경하고 새로운 값이 실제로 중복되면 결과를 제거한 다음 계속 하시겠습니까? 처음에 복제 할 모든 값을 먼저 삭제하지 않으시겠습니까? – Lamak