oracle 메인 키 자동 증가 문제 해결

917 단어 oraclesequence
sql 서버와 mysql 모두 메인 키의 자동 증가를 설정할 수 있습니다.oracle 메인 키는 자동 증가 속성이 없습니다. 다음과 같은 두 가지 방식으로 실현할 수 있습니다.
1. 트리거를 통해 시퀀스 구축
시퀀스 생성
   
CREATE SEQUENCE MESSAGEID MINVALUE 1 MAXVALUE START WITH 1 INCREMENT BY 1 NOCACHE; 

트리거 생성
    
CREATE OR REPLACE TRIGGER ID_TRIGGER
 BEFORE INSERT ON box FOR EACH ROW DECLARE newId NUMBER(18,0); 
BEGIN SELECT MESSAGEID.nextval INTO newId FROM dual; :new.Id := newId; 
END;

      
2. sql 문장에 서열을 만들어서 서열로 얻은 id
시퀀스 생성
   
CREATE SEQUENCE MESSAGEID MINVALUE 1 MAXVALUE START WITH 1 INCREMENT BY 1 NOCACHE; 

sql 문장에서 사용
a. id를 획득:
SELECT MESSAGEID.nextval FROM dual; 

b. 직접 사용:
INSERT INTO box(id,name) VALUES(MESSAGEID.nextval,"sa")

좋은 웹페이지 즐겨찾기