나의 마음을 ctrl+c,너의 가슴에 ctrl+v

오라클 시스템 참조 쿼리


/* ORACLE TABLE SELECT QUERY - SIMPLY */
SELECT * FROM CAT;

/* ORACLE TABLE SELECT QUERY - FULL */
SELECT * FROM ALL_TABLES;

SELECT * FROM ALL_OBJECTS;

SELECT * FROM USER_OBJECTS;

/* FUNCTION OR PROCEDURE SOURCE SELECT */
SELECT * FROM USER_SOURCE;

SELECT * FROM ALL_SOURCE;

/* TABLE COLUMN SELECT */
SELECT * FROM COLS;


- 설정

ERWin Physical 에서
DataBase > Pre & Post Script > Table-Level > New

Oracle

COMMENT ON TABLE %TableName IS '%EntityName';
%ForEachAtt() {
COMMENT ON COLUMN %TableName.%ColName IS '%AttName';
}

Mysql

ALTER TABLE %TableName COMMENT='%EntityName';
%ForEachAtt() {
ALTER TABLE %TableName CHANGE COLUMN %ColName %ColName %AttDatatype %AttNullOption COMMENT '%AttName';
}


- Script 출력
Tools -> Forward engineer/schema generation
Schema -> post-script 체크
other options comments 도 함께 체크


- example

 

oracle 로 insert 문이 있는 sql 파일을 실행시, DATE 타입 필드로 인해 insert 문이 실행실패가 될 경우가 있다.

ORA-01830: date format picture ends before converting entire input string

위의 메시지로 인한 오류라면, 해당 데이터베이스의 DATE SESSION 타입을 SQL 문에 맞게 변경해준다.

example

INSERT INTO TESTC (USER_ID, RGST_DT) VALUES ('webmaster', '2012-07-22 17:22:56');

/* 이 경우, 아래와 같이 일치하는 날짜형으로 변경 */
ALTER SESSION SET NLS_DATE_FORMAT = 'YYYY-MM-DD HH24:MI:SS';

/* 확인 */
select sysdate from dual;

이 후에는 날짜타입으로 인한 sql insert 는 올바르게 실행된다.
위의 변경방법은 ALTER SESSION SET 으로 유추할수 있듯이 접혹한 SESSION 내에서만 적용된다.

기본셋팅의 변경은 database 서버의 기본값을 변경해야 한다. ( .profile 변경 )