본문 바로가기

DB/코드

CREATE 테이블

CREATE SEQUENCE ITEM_SEQ
START WITH 1
INCREMENT BY 1
NOMAXVALUE;

 

→ ITEM_SEQ라는 SEQUENCE를 생성하는데 1로 시작하고 1씩 증가하고 한계를 두지 않는다(NOMAXVALUE).

 

※ 꼬꼬무

NOMAXVALUE라는게 직역하면 최대값이 없다는건데 가능한 말인가?

→ NOMAXVALUE는 시퀀스가 증가할 수 있는 최대 값을 설정하지 않음을 의미합니다. 즉, 시퀀스는 데이터베이스의 정수형 타입의 한계까지 증가할 수 있습니다. Oracle 데이터베이스를 기준으로 시퀀스의 최대 값은 28자리 숫자까지 가능하며, 이는 NUMBER 타입의 한계

 

트리거

트리거란 녀석은 테이블에 INSERT  UPDATE 또는 DELETE 작업이 발생되면 자동으로 실행되는 코드를 말한다.

 

CREATE TRIGGER ITEMS_TRIGGER
BEFORE INSERT ON 
ITEMS
FOR EACH ROW
BEGIN
    SELECT ITEM_SEQ.NEXTVAL INTO :NEW.ID FROM DUAL;
END;

 

→ ITEMS라는 테이블에서 INSERT되기 전에 NEW.ID에 값을 1씩 증가시켜서 테이블에 INSERT한다

→ PRIMARY를 직접 INSERT해야 하지만 설정을 해놓으면 PRIMARY키를 INSERT안해도 자동으로 1이 증가한 값이 생      긴다.

'DB > 코드' 카테고리의 다른 글

SQL문 - Console출력  (0) 2024.07.12
PL/SQL 코드(프로시저와 함수, 패키지, 트리거)  (0) 2024.07.04
DDL 코드 ☏  (0) 2024.06.18
Oracle 숫자 콤마  (0) 2024.06.10