'ddl'에 해당되는 글 1건

  1. 2010/08/06 boyo 6.30 / DDL and Transantion

statment-level rollback
ex)ddl 실패시 해당 문장만 rollback되고 자동으로 commit됨
read consistency commit하기 전까지는 다른 유저가 못 봄

table : 데이터를 저장하는 객체
view : select문 저장 객체(table처럼 사용됨)
sequence : 일련번호 생성기
 create sequence t2s;
 t2s.nextval;
 select t2s.currval from dual;

index : 검색속도 향상위해 미리 만든 객체
create index

synonym : 동의어

질의 실행 시간 측정 (set timing on)
질의의 실행 계획 확인 set autot on exp
truncate 공간까지 비워짐(delete은 undo 테이블에 복사하기때문에 느리고 공간도 안비워짐)

select emp.ename from scott.emp; 테이블 명과 유저명 생략(당연한 거니까 ㅋㅋㅋ)
다른 유저의 테이블을 볼러면 유저명을 써서 사용한다.

data types
varchar2(size) 가변길이-> 글자영릐 넓이값까지 저장, 공간은 덜차지
char(size) 고정길이: 글자1이 들어가도 넓이값만큼 공간차지
number(p,s) p: 전체넓이, s : 그중에서도 소주점으로 사용할 자리수.
datetime data types
timestamp : 소주점이하까지
interval year to month
interval day to second
timestamp with local time zone : 자동으로 변환해서 저장.

not null 널을 허용 안함
unique 중복을 허용 안함, 에러위치 모름
primary key not null + unique
foreign key 다른(특정) primary key값만 허용.
check 특정 조건만 허용

talbe level로 하는 것을 권장
inline방식 constraint 지정
create table tc2(xx number unique, x2 number); column level
outline방식 constraint 지정
create table tc2a(xx number, yy number, constraint tc2a_uk unique(xx)) table level

create table tc4( id number, yy number, deptno number, constraint tc4_fk foreign key(deptno) references dept(deptno));
constraint tc5_ck check(xx>0);

not null talbe level constraint을 지원하지 않음

crating table as : constraint는 복사가 안됨

alter table
alter table d2 add(xxx number);
alter table d2 add constraint d2_pk primary key(deptno);
alter table d2 modify(xxx number(4) default 0);
alter table d2 drop column xxx;
alter table d2 drop(loc);

테이블이 이미 있다고 하면 찾아보기 (시퀀스나 인덱스에 있을수 있음)
select object_name, object_type from user_objects where object_name like '%&key%'

simple view는 dml이 모두 가능

2010/08/06 14:08 2010/08/06 14:08