varchar2 가변길이로 저장된다.
대부분 NUMBER형을 사용한다.
P는 소수점을 포함한 전체 자릿수를 의미하고, S는 소수점 자릿수를 의미한다.
NUMBER는 가변숫자이므로 P와 S를 입력하지 않으면 저장 데이터의 크기에 맞게 자동으로 조절된다.
입력값 타입 저장되는 값
123.89 NUMBER 123.89
123.89 NUMBER(3) 124 자연스럽게 반올림 진행됩니다...
123.89 NUMBER(3,2) 오류
123.89 NUMBER(4,2) 오류
123.89 NUMBER(5,2) 123.89
123.89 NUMBER(6,1) 123.9
일반적으로는 날짜 데이터타입은 DATE 타입이다.
LOB이란 Large Object의 약자로 대용량 데이터를 처리할수 있는 데이터 타입이다.
데이터 조회 및 변형을 위한 명령어
select : 데이터 조회
insert : 데이터 입력
update : 데이터 수정
delete : 데이터 삭제
insert into 테이블명 values (값1, 값2, ...)
-> 전체 컬럼
insert into 테이블명 (컬럼1, 컬럼2, ...) values (값1, 값2, ...)
-> 특정컬럼
update 테이블명 set 컬럼1 = 값1, 컬럼2 = 값2, ....
where 조건..;
delete 테이블명 where 조건;
모든 작업을 정상적으론 처리하겠다고 확정하는 명령어이다.
트랜잭션의 처리 과정을 데이터베이스에 반영하기 위해서, 변경된 내용을 모두 영구 저장한다.
commit을 수행하면, 하나의 트랜젝션 과정을 종료하게 된다.
transaction 작업 내용을 실제 db에 저장
모든 사용자가 변경한 데이터의 결과를 볼수 있다.
작업 중 문제가 발생했을 때 , 트랜젝션의 처리 과정에서 변경사항을 취소하고, 트랜젝션 과정을 종료시킨다.
트랜젝션으로 인한 하나의 묶음 처리가 시작되기 이전의 상태로 되돌린다.
이전 commit 한 곳 까지만 복구한다.
트랜젝션 작업 중 하나라도 문제가 발생하면, 모든 작업을 취소해야 하기 때문에 하나의 논리적인 작업 단위로 구성해 놓아야함.
문제가 발생하면 논리적인 작업의 단위를 모두 취소해 버리면 되기 때문이다.
-DDL문 (create, alter, drop, truncate)
-DCL문 (grant, revoke) 사용권한
-insert, update, delete 작업 후 commit 하지 않고 오라클 정상종료시에 commit 명령어 입력하지 않아도 정상 commit 후 오라클 종료
on delete cascade : 참조되는 부모 테이블의 행에 대한 delete를 허용한다.
즉, 참조되는 부모테이블 값이 삭제되면 연쇄적으로 자식 테이블 값 역시 삭제된다.
on delete set null : 참조되는 부모테이블의 행에 대한 delete를 허용한다.
이건 cascade와 다른데, 부모 테이블의 값이 삭제되면 해당 참조하는 자식 테이블의 값들은 null 값으로 설정된다.