#####################################
#  MySQL 을 Oracle 로 이전하기       # 
#####################################

작성자 : 장형화(hhjang97@venus.uos.ac.kr)
작성일 : 2005. 03. 08 
수정일 : 

원본 :
설명 :

MySQL의 내용을 Oracle로 옮기면서 사용한 내용을 정리함

################################# #################################
#################################


1. 데이터 타입을 바꾼다.
  MySQL 메뉴얼 : 7.2 Column types 참고 
  
	int(11) 	=>  number(11)
	varchar(30)	=>	varchar2(30)
	char(30)	=>	char(30)

	TINYINT		=> number(3) : 255
	SMALLINT	=> number(5) : 65535
	MEDIUMINT	=> number(8) : 16777215
	INT			=> number(10): 4294967295
	BIGINT		=> number(20): 18446744073709551615
	FLOAT		=> : 1.175494351E-38 to 3.402823466E+38
	DOUBLE		=> : 2.2250738585072014E-308 to 1.7976931348623157E+308
	DECIMAL		=> 
	DATE		=> : 'YYYY-MM-DD' 
	DATETIME	=> : '1000-01-01 00:00:00' to '9999-12-31 23:59:59'
	TIMESTAMP	=> number(11)
	TIME		=> : 'HH:MM:SS' 
	YEAR		=> : 1901 to 2155
	CHAR		=> CHAR
	VARCHAR		=> VARCHAR2
	TINYBLOB	
	TINYTEXT	=> CHAR(255)
	TEXT		=> VARCHAR2(65535) : (2^16 - 1) 
	BLOB
	MEDIUMBLOB
	MEDIUMTEXT	=> VARCHAR2(16777215) : (2^24 - 1) 
	LONGBLOB	
	LONGTEXT	=> VARCHAR2(4294967295) : (2^32 - 1) 
	ENUM
	SET	
	
2. auto_increment 인 경우 sequence 값을 만든다. 
  - "테이블이름_seq" 형식으로 만든다. 
    한 테이블에 여러개가 있으면 column_seq 로 추가한다.
  - user 테이블의 no 인 경우는 user_seq 가 된다. 

CREATE sequence tablename_seq
INCREMENT BY 1      -- 증가치
START WITH 1        -- 시작
MAXVALUE 9999999    -- 종점
NOCACHE             --
NOCYCLE;


3. key 값

  "PRIMARY KEY  (no)" 는 그대로 설정해도 된다. 
  
4. NOT NULL 과 DEFAULT 의 위치를 바꾼다. 
  서로 순서가 다른거 같다. 

  - MySQL
    NOT NULL default '',
    
  - Oracle 
    DEFAULT '' NOT NULL ,
    

5. \\\' 나 \\\" 로 되어 있는것을 '' 로 바꿔야 한다.