반응형

1. SEQUENCE의 정의

- 지정된 수치로 증가하거나 감소시키는 일종의 번호표.

- 최대 15개까지는 생성 가능합니다.

 

2. SEQUENCE의 생성

- CREATE SEQUENCE 생성할 시퀀스 이름

- [INCREMENT BY 정수]

  > INCREMENT BY 정수는 SEQUENCE 번호 간의 증가치입니다, 생각하면 SEQUENCE는 1씩 증가

- [START WITH 정수]

  > START WITH 정수는 생성되는 첫 번째 SEQUENCE 번호 

- [MAXVALUE 정수 OR NOMAXVALUE]

  > MAXVALUE 정수는 생성 가능한 SEQUENCE의 최대값 (기본값 38)

- [MINVALUE 정수 OR NOMINVALUE]

  > MINVALUE 정수는 생성 가능한 SEQUENCE의 최소값

- [CACHE 정수 OR NOCACHE]

  > CACHE 정수 OR NOCHACHE는 오라클 서버가 미리 지정하고 메모리에 유지할 값의 수 (기본값 20)

 

예) 테이블에 INSERT 할 때 사용

SQL> INSERT INTO (USERID, USERNAME) VALUES(생성한 시퀀스 이름. NEXTVAL, '은스타');

예) 30부터 시작해서 2씩 증가하고 범위가 100까지인 SEQUENCE 생성

CREATE SEQUENCE MEMBER_SEQ

INCREMENT BY 2

START WITH 30

MAXVALUE 100

 

3. SEQUENCE 수정

ALTER SEQUENCE 수정할 시퀀스 이름

[INCREMENT BY 정수]

[MAXVALUE 정수 OR NOMAXVALUE]

[MINVALUE 정수 OR NOMINVALUE]

[CACHE 정수 OR NOCACHE]

 

본인의 SEQUENCE 이거나 SEQUENCE ALTER 권한이 있을 때만 수정이 가능합니다.

아직 생성되지 않은 SEQUENCE만이 ALTER SEQUENCE 명령에 영향을 받습니다.

유효성 검사를 하게 됩니다. 

 

예를 들어 새로운 MAXVALUE는 현재의 SEQUENCE보다 커야 합니다.

START WITH 옵션은 ALTER SEQUENCE를 써서 변경할 수 없습니다.

다른 번호에서 다시 시작하려면 이전 SEQUENCE를 삭제하고 다시 생성해야 합니다.

 

4. SEQUENCE 삭제

DROP SEQUENCE 삭제할 시퀀스 이름

반응형

'Development > DB' 카테고리의 다른 글

[DB] SQL의 기본과 활용 - 1  (0) 2022.08.31
[DB] Oracle Listener  (0) 2020.04.08
[DB] ROWNUM과 ROWID  (0) 2020.04.08
[DB] ORACLE DB 사용자 계정 패스워드 없애는 방법  (0) 2020.04.08
[DB] ORACLE DB SYSTEM, SYS 암호 변경  (0) 2020.04.08
반응형

#1. ROWNUM

1) ROWNUM은 쿼리의 결과로 나오게 되는 각각의 ROW들에 대하여 순서 값을 가리키는 의사 칼럼

예) SELECT USERID, USERNAME, ROWNUM

      FROM MEMBERS

      WHERE ROWNUM <= 10

 

#2. ROWID

1) ROWID는 테이블에 저장된 각각의 ROW들이 저장된 주소 값을 가진 의사 칼럼.

2) 모든 테이블의 모든 ROW들은 오직 자신만의 유일한 ROWID값을 갖고 있다고 할 수 있음.

3) 어떤 ROW라도 ROWID로 식별할 수 있다는 의미

4) ROWID의 특징

  - 단일 ROW에 접근하는 가장 빠른 수단

  - 테이블에 ROW들이 어떻게 저장되는지를 보여줍니다.

  - 한 테이블에서 ROWID 값은 유일한(UNIQUE) 값.

반응형
반응형

이번 포스팅은 ORACLE DB 사용자 계정 패스워드 없애는 방법에 대하여 알아보도록 하겠습니다.

1. Oracle 사용자를 생성하면 기본적으로 패스워드 사용기간이 180일로 설정

2. 180 + 7일(경고 기간)이 지나면 계정이 잠김

3. 패스워드 사용기간 제한을 없애고 싶다면 아래와 같이 실행

SQL> SELECT * FROM DBA_PROFILES WHERE PROFILE = 'DEFAULT';

SQL> ALTER PROFILE DEFAULT LIMIT PASSWORD_LIFE_TIME UNLIMITED;

반응형

'Development > DB' 카테고리의 다른 글

[DB] SQL의 기본과 활용 - 1  (0) 2022.08.31
[DB] Oracle Listener  (0) 2020.04.08
[DB] DB Sequence 생성과 삭제  (0) 2020.04.08
[DB] ROWNUM과 ROWID  (0) 2020.04.08
[DB] ORACLE DB SYSTEM, SYS 암호 변경  (0) 2020.04.08

+ Recent posts