본문 바로가기

Database/Oracle

Sequence(SEQ), 동의어

    sequence : 유일한 값을 생성해주는 Oracle Object
            baseball +1     1001  -> 1002 ->  1003
            ex) 회원번호, 게시판 관리번호 등
            초기화 불가능, 삭제 후 다시 생성
    int count = 1;
    count++;

 

 

 

EMPLOYEES_SEQ.nextval, '홍', 'HGD@NAVER.COM', '91/10/12', 'IT_PROG' 의 값을 넣음

--EMPLOYEES테이블 시퀀스에 값 넣어보기 ->nextval을 통해 마지막 사원번호 다음 번호로 삽입됨.

INSERT INTO employees(EMPLOYEE_ID, LAST_NAME, EMAIL, HIRE_DATE, JOB_ID)
VALUES(EMPLOYEES_SEQ.nextval, '홍', 'HGD@NAVER.COM', '91/10/12', 'IT_PROG');
--nextval을 통해 마지막 사원번호 다음 번호로 삽입됨.

 

 

 

--sequence의 생성

CREATE SEQUENCE TEST_SEQ
INCREMENT BY 1          --1씩 증가
START WITH 10           --시작 숫자
MAXVALUE 100
MINVALUE 1;

 

 

--CURRVAL -- 현재의 SEQ 값 확인

SELECT TEST_SEQ.CURRVAL -- NEXTVAL을 한번 실행 후 실행해야 함
FROM DUAL;

 

 

--NEXTVAL --진행 값 실행

SELECT TEST_SEQ.nextval     -- +1 +1 ....
FROM DUAL;

 

 

--SEQUENCE 수정(늘어나는 값 변경)

ALTER SEQUENCE TEST_SEQ
INCREMENT BY 3;             --늘어나는 값을 +3으로 수정: 진행값을 +3씩으로 바꿈

 

 

--초기화 불가  -> 삭제 후 재생성 해야 함

DROP SEQUENCE TEST_SEQ;       --아예 삭제해야 함 

 

 

 

 

--동의어 (SYNONYM / 객체의 별명)
/*
    int array[];
    int alias[] = array;
*/

CREATE SYNONYM "사원들"
FOR EMPLOYEES;

INSERT INTO "사원들"(EMPLOYEE_ID, LAST_NAME, EMAIL, HIRE_DATE, JOB_ID)
VALUES (EMPLOYEES_SEQ.nextval, '일', 'IJM@DAUM.NET', SYSDATE, 'ST_MAN');

 

 

마지막줄에 일지매 추가

 

 

 

'Database > Oracle' 카테고리의 다른 글

View  (0) 2020.06.26
INDEX  (0) 2020.06.25
무결성 table 생성과 key, 외래키  (0) 2020.06.25
table 생성 및 셋팅  (0) 2020.06.24
헷깔리는 함수문제~  (0) 2020.06.23