본문 바로가기
개발자의 삶/DB

[오라클] primary key 추가 삭제

by 나.R.D.(Rule Destoryer) 2016. 12. 2.

들어가기 전

기본키를 추가 할 일이 생겼다.
기존에 키가 등록이 되어 있는데, 수정하고 싶었던 것이다.
그럼 일단 지우고, 다시 등록을 해야 한다.
 
근데 지워지지 않았다.
 



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],[...])

 
 
위와 같이 되어 있는 게 아닌가...
 
아, PK명만 보고 PK다 싶었는데, INDEX 로 등록이 되어 있던 것!!
 
그래서 INDEX를 지워주고, 해당 PK명으로 다시 PK를 등록해주었다.
 
 

사용방법



ALTER TABLE [TABLE명] DROP PRIMARY KEY;   -- 기본키를 지워준다.
ALTER TABLE [TABLE명] ADD CONSTRAINT [PK명] PRIMARY KEY ([KEY1],[KEY2],[...]);   -- PK를 생성한다.



참고

https://www.techonthenet.com/oracle/primary_keys.php

Oracle / PLSQL: Primary Keys

Oracle / PLSQL: Primary Keys This Oracle tutorial explains how to create, drop, disable, and enable a primary key in Oracle with syntax and examples. What is a primary key in Oracle? In Oracle, a primary key is a single field or combination of fields that

www.techonthenet.com

반응형

댓글