IT/ORACLE
[ORACLE]SELECT UPDATE PK인 컬럼값 시퀀스 처럼 바꾸기
시린스
2020. 1. 10. 16:21
반응형
1. 바꾸려고 하는 컬럼을 하나 똑같이 만든다.
EX) BOARD_ID => BOARD_ID2
2.BOARD_ID2에 원하는 PK의 값을 꽂아 넣는다. (시퀀스 값)
UPDATE [테이블] A SET A.BOARD_ID2 = (SELECT TO_CHAR(B.NUM,'000000000') FROM
(SELECT ROW_NUMBER() OVER(ORDER BY BOARD_ID) NUM , BOARD_ID FROM [테이블]) B
WHERE B.BOARD_ID = A.BOARD_ID)
3.원하는 값이 BOARD_ID2에 들어갔으면 이제 업데이트 다시 해준다.
UPDATE CRM_BOARD_MST SET BOARD_ID = BOARD_ID2
결과값이 바뀌었는지 확인해본다.