오라클 PK 컬럼 추가 - olakeul PK keolleom chuga

데이터베이스/oracle

[Oracle] PRIMARY KEY 추가, 삭제, 수정

항 가 2020. 10. 27.

기존에 사용중인 컬럼을 제외해야 되는 상황이 왔다.
해당 컬럼이 private key로 등록이 되어 있어 일반적인 방법으로는 제외되지 않는다.
데이터가 많아 테이블을 삭제할 수 없으니 다른 방법을 찾아야한다.

등록되어 있는 key 전부를 제거하고 새롭게 생성하는 방법을 이용하면 데이터를 유지하면서 수정이 가능하다.

ALTER TABLE TEST123 DROP PRIMARY KEY;

ALTER TABLE TEST123 ADD CONSTRAINT PK_TEST123 PRIMARY KEY (test1, test2, test3);

 

공유하기

게시글 관리

구독하기코딩공장

저작자표시

태그

db #oracle #primary key #alter table

Secret

댓글달기

반응형

 

오라클 PK 컬럼 추가 - olakeul PK keolleom chuga

1. 테이블 기본키 추가하기(ALTER TABLE ADD)

ALTER TABLE 테이블명 ADD PRIMARY KEY (컬럼명1, 컬럼명2, 컬럼명3 ...)

( EX ) USER라는 테이블에 USER_ID, DEPT 이라는 컬럼을 기본키로 추가할 때
-> ALTER TABLE USER ADD PRIMARY KEY (USER_ID, DEPT) 

2. 테이블 기본키 삭제하기(ALTER TABLE DROP)

ALTER TABLE 테이블명 DROP PRIMARY KEY

( EX ) USER라는 테이블에 기본키를 삭제할 때
-> ALTER TABLE USER DROP PRIMARY KEY

 

 

반응형

공유하기

게시글 관리

구독하기DooTheG

저작자표시

  • 카카오스토리
  • 트위터
  • 페이스북

'Dev > DBMS' 카테고리의 다른 글

[ORACLE] ORA-00000 정상, 성공적인 완료  (0)2019.11.18[ORACLE] 오라클 테이블 조회 (SELECT )  (0)2019.10.30[ORACLE] ORA-00017 추적 이벤트를 설정하도록 세션이 요청되었습니다.  (0)2019.10.29[ORACLE] 오라클 테이블 컬럼 추가/수정/삭제/이름변경/코멘트수정 하기  (0)2019.10.24[ORACLE]오라클 DB Connect 확인 쿼리  (0)2019.08.16

728x90

반응형

[Oracle] 테이블 PK(PRIMARY KEY) 삭제 및 추가

 

​| 01. [Oracle] 테이블 PK(PRIMARY KEY) 삭제 및 추가

 

1, 테이블의 PRIMARY KEY 삭제

 

ALTER TABLE 테이블명 DROP PRIMARY KEY

 

1, 테이블의 PRIMARY KEY 추가

ALTER TABLE 테이블명 ADD CONSTRAINT PK명 PRIMARY KEY (컬럼명1, 컬럼명2, 컬럼명3 ...);

 

 

 

 

728x90

반응형

공유하기

게시글 관리

구독하기캉군

'개발 > sql' 카테고리의 다른 글

[Oracle]ORA-12899: " 열에 대한 값이 너무 큼"  (0)2021.01.22ORA-12704: 문자 집합이 일치하지 않습니다  (0)2020.11.26쿼리 정렬해주는 사이트  (0)2020.08.18Ambiguous mapping found. Cannot map '' bean method  (0)2020.08.13ORA-00001 : 유일성 제약조건에 위배됩니다  (0)2020.08.03

반응형

컬럼추가 및 컬럼 comment 입력

ALTER TABLE [테이블이름] ADD ([컬럼이름] [데이터타입]);

ALTER TABLE SHOP_USER ADD (SEQ_NO VARCHAR2(12 BYTE));
COMMENT ON COLUMN SHOP_USER.SEQ_NO IS '시퀀스';

기본키 변경

기본키 변경은 기존의 기본키를 삭제하고 다시 만들어야 된다.

ALTER TABLE [테이블명] DROP PRIMARY KEY;

ALTER TABLE [테이블명] ADD CONSTRAINT [기본키명] PRIMARY KEY([컬럼1], [컬럼2], [컬럼3] ...)

ALTER TABLE SHOP_USER DROP PRIMARY KEY; ALTER TABLE SHOP_USER ADD CONSTRAINT PK_BNC_SHOP_USER PRIMARY KEY(CLOSE_DATE, CLOSE_TIME, SEQ)


반응형

공유하기

게시글 관리

구독하기Jun, Log

저작자표시

'DB > Oracle' 카테고리의 다른 글

[DB] 오라클 파티션 테이블 정의 및 생성  (0)2019.03.13[DB] 오라클 제약조건 (NOT NULL, 기본키, UNIQUE, 외래키, CHECK)  (0)2019.03.12[DB] 오라클 테이블 생성(+테이블스페이스), 인덱스 생성, 테이블 삭제, 데이터 생성  (0)2019.03.07[DB] 오라클 에러, ORA-30926: 원본 테이블의 고정 행 집합을 가져올 수 없습니다.  (0)2019.03.07[DB] 오라클 기본키(primary key) 컬럼 확인  (0)2019.02.14

728x90

기본키(Primary Key)

주 키 라고도 하며, 하나의 테이블에 있는 Row가 다른 Row와 구별되는 역할을 합니다.
기본키는 한 Row마다 유일하며, 중복되지 않아야합니다. 또한 null이 될 수 없습니다.

 

테이블을 생성하면서 PK(primary key) 생성하기

Primary key로 사용할 컬럼(midx)을 생성하고,
테이블 생성 마지막에 제약조건을 정의해준다.

CONSTRAINT [PK컬럼명] PRIMARY key ([컬럼])
CONSTRAINT pk_midx PRIMARY key(midx)

첫번째 방법

create table memberA(
    midx number not null  primary key,
    name varchar2(10) not null,
    id varchar2(10) not null,
    pw varchar2(10) not null
);

두번째방법

create table memberA(
    midx number not null,
    name varchar2(10) not null,
    id varchar2(10) not null,
    pw varchar2(10) not null,
    constraint pk_midx primary key(midx)
);

 

테이블 생성 후에 PK(Primary key) 추가하기

테이블 생성 후에 Primary key제약조건을 정의 할때에는
이미 PK가 있는 경우에는 "table can have only one primary key" 오류가 발생한다.
Primary key가 없는 경우에 사용 가능하다.

ALTER TABLE [테이블명]
ADD CONSTRAINT [pk컬럼명] PRIMARY KEY ([컬럼]);
ALTER TABLE memberA
ADD CONSTRAINT pk_name PRIMARY KEY (name);

create table memberA(
    midx number not null,
    name varchar2(10) not null,
    id varchar2(10) not null,
    pw varchar2(10) not null
);

alter table memberA
add constraint pk_name primary key(name);

 

기본키(Primary Key) 삭제하기

PK를 생성 후에 PK를 제거하는 방법
컬럼에 적용된 PK제약조건이 제거 될뿐 컬럼은 제거 되지 않는다.

ALTER TABLE [테이블명]
DROP CONSTRAINT [PK컬럼명]
ALTER TABLE memberA
DROP CONSTRAINT pk_midx

ALTER TABLE memberA
DROP CONSTRAINT pk_midx;

 

Primary key를 만들고 확인하는 방법

테이블을 열어서 Model탭에서 MIDX가 PK로 적용 된것을 확인할 수 있다.

오라클 PK 컬럼 추가 - olakeul PK keolleom chuga

 

728x90

공유하기

게시글 관리

구독하기<WEB LOG>

저작자표시 변경금지

  • 카카오스토리
  • 트위터
  • 페이스북

'Database > OracleSQL' 카테고리의 다른 글

Oracle/ 외래 키 (Foreign Key , FK)생성/추가/삭제  (0)2021.06.02Oracle/SQL/alter/rename columu/컬럼이름변경  (0)2021.04.28Oracle/SQL/Create Table/테이블생성  (0)2021.04.28