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 |