[Oracle]오라클 pk 2개 이상 컬럼으로 지정하기(복합키)

반응형
반응형

안녕하세요.
지난번에는 테이블을 직접 만들고 Dbeaver에서 데이터가져오기 기능을 이용하여 데이터를 올려 보았습니다. (data import, data upload)

2022.04.10 - [SW교육/DB] - [Oracle]Dbeaver에서 테이블 생성 및 데이터 가져오기(import,insert)

[Oracle]Dbeaver에서 테이블 생성 및 데이터 가져오기(import,insert)

안녕하세요. 지난번에 로또 데이터를 받아서 아주 간단한 테이블 정의서를 만들어 봤는데요. 오늘은 실제 테이블을 만들고 데이터를 올려보았습니다. 2022.03.24 - [SW교육/DB] - [DB활용]로또 데이터

pandajeytv.tistory.com

그런데, 또 다른 테이블을 같은 방식으로 생성하려고 하다 보니 에러가 발생하더군요.

CREATE TABLE JUNG.LOTTO_NUM (
LOTTO_NO DECIMAL(7,0) PRIMARY KEY
, SEQ DECIMAL(1,0) PRIMARY KEY
, NUM DECIMAL(2,0) NOT NULL
, BNS_YN char(1)
)
SQL Error [2260] [42000]: ORA-02260: 테이블에는 하나의 기본 키만 가질 수 있습니다.
바로 이런 에러입니다.

2개 이상의 컬럼을 Pk로 지정하여 테이블을 생성할 때는 다음과 같이 해주면 됩니다.

CREATE TABLE JUNG.LOTTO_NUM (
LOTTO_NO DECIMAL(7,0)
, SEQ DECIMAL(1,0)
, NUM DECIMAL(2,0) NOT NULL
, BNS_YN char(1)
, CONSTRAINT LOTTO_NO_SEQ_PK PRIMARY KEY (LOTTO_NO, SEQ)
)
Dbeaver에서 는 테이블에 커서를 두고 F4를 누르면 테이블 정보가 조회됩니다.
단, 새로 생성한 바로 후에는 Database Navigator에서 새로고침을 한 후 조회됩니다.

Dbeaver 테이블 조회

PK 가 복합키로 지정된 이름(LOTTO_NO_SEQ_PK)으로 해서 잘 생성이 되었군요.
아래 인텍스(indexes) 탭을 보면 pk에 해당되는 인덱스가 생성되었음을 확인할 수 있습니다.
감사합니다.

2022.04.09 - [SW교육/DB] - [Oracle]DB연결 안될 때 제일 먼저 확인하고 조치할 것은?

[Oracle]DB연결 안될 때 제일 먼저 확인하고 조치할 것은?

안녕하세요. 지난번에 테이블을 만들기 위해서 테이블 정의서를 간단하게 작성해 봤습니다. 2022.03.24 - [SW교육/DB] - [DB활용]로또 데이터를 이용한 오라클 테이블 만들기 오늘은 실제 Create table 을

pandajeytv.tistory.com

2022.03.24 - [SW교육/DB] - [DB활용]로또 데이터를 이용한 오라클 테이블 만들기

[DB활용]로또 데이터를 이용한 오라클 테이블 만들기

안녕하세요. 지금까지 포스팅에서는 오라클 회원 가입부터 SQL을 실습하기 위한 dbeaver 설치를 해보았습니다. >>> 지난 포스팅 보기 << 1. 오라클(Oracle) 홈페이지 계정 가입하기 2. 오라클 Oracle Databas

pandajeytv.tistory.com

반응형

댓글

Designed by JB FACTORY