동기프로젝트를 진행 중에 예기치 못한 요구사항으로 인한 DB 변경이 이루어질 때가 있다.이때, 컬럼만 추가해서 NULL 값이 들어가도 되거나, 그냥 기본 값 = (예를 들어) 1 이 들어간다면 얼마나 좋을까?하지만, 그룹으로 묶어서 값을 넣어주어야 한다면 좀 더 복잡해지기 마련이다.그룹으로 묶어서 LEVEL 값을 넣어주어야 했다. 방법 UPDATE /*+ BYPASS_UJVC */( SELECT A.COLUMN1 UPD_COL , B.RNUM SEL_COL FROM TABLE_A A , ( SELECT KEY_COLUMN, ROW_NUMBER() OVER(PARTITION BY GROUP_COLUMN1, GROUP_COLUMN2 ORDER BY ORDER_COLUMN) AS RNUM FROM TABLE_..
들어가기 전 기본키를 추가 할 일이 생겼다. 기존에 키가 등록이 되어 있는데, 수정하고 싶었던 것이다. 그럼 일단 지우고, 다시 등록을 해야 한다. 근데 지워지지 않았다. ALTER TABLE TEST_TABLE DROP PRIMARY KEY; ORA-02441: Cannot drop nonexistent primary key 삭제 할 수 없단다. 다시 테이블 description 을 봤다. 분명 우리가 사용하는 pk 사용 네이밍룰로 된 key 값이 등록 되어 있었다. '이상하다.' 싶어서 다시 지웠는데도 없단다. 다시 description 을 봤다. 머리가 아파왔다. 자세히 보니.... CREATE UNIQUE INDEX [PK명] ON [TABLE명]([KEY1],[KEY2],[...]) 위와 같이 ..