REDO, UNDO
-
REDO
-
로그. 모든 변경사항을 기록함
-
데이터 복구 등에 사용됨
-
-- 한 줄 출력하기
SELECT * FROM payments WHERE ROWNUM=1;
-- 테이블 컬럼 보기
SELECT atc.COLUMN_NAME, atc.DATA_TYPE, atc.DATA_LENGTH, atc.NULLABLE
FROM ALL_TAB_COLS atc
WHERE ALL_TAB_COLS='payments';
-- 인덱스 조회
select *
from ALL_IND_COLUMNS
where TABLE_NAME='payments';
-- 버전 조회
select * from v$version;
SEQUENCE
SELECT * FROM USER_SEQUENCES;
CREATE SEQUENCE seq_pay (1)
START WITH 1 (2)
INCREMENT BY 1 (3)
MAXVALUE 10000 (4)
MINVALUE 0 (5)
CYCLE (6)
NOCACHE; (7)
-
시퀀스 이름(
seq_pay
)을 제외한 나머지 값은 optional -
시작 번호
-
증가값
-
최댓값
-
최솟값
-
시퀀스가 최대 값이 되었을때 다시 시작값으로 돌아갈 것인지에 대한 설정,
CYCLE
orNOCYCLE
(순환여부를 설정할경우는 보통 시퀀스랑 현재날짜를조합해서 테이블에 데이터를 집어넣는 경우도 많이 있습니다.)
-
시퀀스 값을 메모리에 할당할 것인지에 대한 설정, 원하는 값만큼 미리 만들어 Shared Pool의 Library Cache에 상주 시킴.
CACHE [n]
orNOCACHE
제약조건, CONSTRAINT
-
테이블이나 속성에 부적절한 데이터가 들어오는 것을 사전에 차단하기 위해 설정하는 조건.
-
NOT NULL
,UNIQUE
,CHECK
,PRIMARY KEY
,FOREIGN KEY
,DEFAULT
CHECK
-- Add on CREATE TABLE
CREATE TABLE <table_name> (
age int,
CONSTRAINT age_limit CHECK (age>=18)
)
-- Add on ALTER TABLE
ALTER TABLE <table_name> ADD CONSTRAINT <constraint_name> CHECK <conditions>
-- Delete
ALTER TABLE <table_name> DROP CONSTRAINT <Constraint_name>
json type
CREATE TABLE member (
id VARCHAR2(10) NOT NULL PRIMARY KEY,
name VARCHAR2(10),
detail_json VARCHAR2(4000)
CONSTRAINT ensure_json CHECK (detail_json IS JSON)
);
-- or
ALTER TABLE member ADD CONSTRAINT ensure_json CHECK (detail_json IS JSON);