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
- 
시작 번호 
- 
증가값 
- 
최댓값 
- 
최솟값 
- 
시퀀스가 최대 값이 되었을때 다시 시작값으로 돌아갈 것인지에 대한 설정, CYCLEorNOCYCLE(순환여부를 설정할경우는 보통 시퀀스랑 현재날짜를조합해서 테이블에 데이터를 집어넣는 경우도 많이 있습니다.) 
- 
시퀀스 값을 메모리에 할당할 것인지에 대한 설정, 원하는 값만큼 미리 만들어 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);