Oacle 데이터베이스 에 자체 ID 필드 를 만 드 는 절차

Oacle 에서 자체 증가 ID 필드 를 사용 하 는 절차 가 비교적 번 거 롭 습 니 다.요약 은 다음 과 같 습 니 다.
--생 성 표

CREATE TABLE ADVICE
(
ID INT NOT NULL,
ACTIVE INT DEFAULT 1 NOT NULL,
TYPE INT NOT NULL, 
MSG VARCHAR2(512) NOT NULL,
ADVICE VARCHAR2(4000) NOT NULL,
PRIMARY KEY(ID),
CONSTRAINT ADVICE_UNI UNIQUE(TYPE,MSG)
)TABLESPACE MYDB;

--    ID,   :  _   _SEQ
CREATE SEQUENCE ADVICE_ID_SEQ MINVALUE 1 NOMAXVALUE INCREMENT BY 1 START WITH 1 NOCACHE;


--  Insert       ,   SQL    NEXTVAL,     _INS_TRG
CREATE OR REPLACE TRIGGER ADVICE_INS_TRG BEFORE INSERT ON ADVICE FOR EACH ROW WHEN(NEW.ID IS NULL)
BEGIN
SELECT ADVICE_ID_SEQ.NEXTVAL INTO :NEW.ID FROM DUAL;
END;

좋은 웹페이지 즐겨찾기