Oracle-식별자

ezzange·2022년 9월 16일
0

oracle

목록 보기
2/5
post-thumbnail

제약조건 종류

  1. Primary Key : 중복불가(Unique) + not null
  2. Foreign Key(외래 키) : 다른테이블의 pk를 참조하는 키
  3. Unique : 중복불가, null, not null과 동시 사용가능
  4. not null : null 허용하지 않아요
  5. Check : 지정된 데이터타입을 조건에 주어서 만족하는 값만 허용
  6. default : 기본값 적용: 데이터를 입력(null포함)하면 입력데이터가 처리되고, 데이터 입력이 없으면 자동으로 default값이 적용

식별자

--+ primary key로 검색을 할 경우 안하는 것과의 속도차이가 엄청난다.
constraint -> 제약조건

primary key를 사용한 테이블 생성

--> constraint 제약조건고유의이름(pk_테이블등 내맘)  primary key (컬럼)
create table topic (
  id NUMBER not null,
  title VARCHAR2(40) not null,
  description VARCHAR2(4000),
  created date not null,
  constraint PK_topic primary key (id)-- primary key을 사용하여 만들어서 id값은 중복값이 불가능
);

sequence : 시퀀스 (1씩 증가되는 것)

--+sequence는 대부분 항상 primary key 와 같이 쓰인다.
-->시퀀스 생성 create sequence seq_테이블이름(내맘);
create sequence seq_topic;
-->시퀀스 삭제 DROP SEQUENCE seq_테이블이름(내맘);
DROP SEQUENCE seq_topic;

시퀀스를 사용하여 행 추가

-->insert into topic (칼럼1, 칼럼2, ...) VALUES (seq_topic.nextval , ...(칼럼의 데이터 타입에 맞는 데이터값들));

insert into topic
    (id,title,description,created)
    VALUES
    (seq_topic.nextval ,'banana1','banana1 is ...',sysdate);
insert into topic
    (id,title,description,created)
    VALUES
    (seq_topic.nextval ,'banana2','banana2 is ...',sysdate);
insert into topic
    (id,title,description,created)
    VALUES
    (seq_topic.nextval ,'banana3','banana3 is ...',sysdate);
select id from topic;
delete from topic;

> 현재 시퀀스의 값을 확인할 수 있음

select seq_topic.currval from topic;

0개의 댓글