테이블에 pk가 설정되어있는 컬럼을 업데이트 하려하는데요
UPDATE TABLE SET REQ = '00000' WHERE LENGTH(REQ) <= 14
이런식으로 REQ컬럼에 길이가 14보다 작거나 같은거의 컬럼에 00000 이라고 넣을려고 하는데
REQ컬럼에 PK가 지정되어있어서 제약조건 에러가 나는데요
그냥 해당 행을 삭제해도 되긴 하지만 컬럼 하나 때문에 전체 정보를 삭제하는게 좀 아까워서 임시로 다른 문자열을
넣을라구 합니다.
뭔가 방법이 있을꺼 같긴한데 떠오르질 않네요;;
임시로 다른 문자열 넣는다면 그 방법이 제일 좋습니다.
기존에 값을 삭제한다고 해도 고유키 제약 조건 위배 오류가 나지 않기 위해 임시 값을 넣을 때 계속 값이 충돌나지 않은 값을 생성해서 넣어줘야 합니다.
즉 기존 값을 이용만 하는 것이지 값 자체가 재탄생하는 것인데 기존 값이라고 보기 힘든 것이 아닌가 합니다. 아니면 출동나지 않도록 시퀸스 값을 이용해야 하는데 결국 비용만 높아지고 결과는 같습니다.
또한 임시값을 식별할 수 있는 값이 같이 들어가기 때문에 다른 어떤 방법을 찾아도 컬럼을 추가하지 않는 이상 관리 목적상 동일한 결과입니다.