http://blog.naver.com/PostView.nhn?blogId=renovate&logNo=40135920236
DB2에 대해서 완전 맨땅에 헤딩하면서 찾아내는 정보들 정리 중..
1. 테이블정보(목록) 조회
SELECT * FROM SYSIBM.SYSTABLES; - 컬럼수 등 상세 정보가 나오네
SELECT * FROM SYSIBM.TABLES;
2. 컬럼 정보(목록) 조회
SELECT * FROM SYSIBM.SYSCOLUMNS
3. 테이블 정보 만들때 참조
SELECT ','
,NAME
, (CASE COLTYPE WHEN 'INTEGER' THEN 'NUMBER'
WHEN 'VARCHAR' THEN 'VARCHAR2'
WHEN 'TIMESTMP' THEN 'DATE'
ELSE COLTYPE END) AS NM_DATATYPE
, (CASE COLTYPE WHEN 'VARCHAR' THEN '('||CHAR(LENGTH)||')' END ) NM_LENGTH
, (CASE NULLS WHEN 'N' THEN 'NOT NULL' ELSE '' END ) NM_NULL
FROM SYSIBM.SYSCOLUMNS
WHERE TBNAME='테이블명'
ORDER BY COLNO
4. 오라클용 pk 생성할때 참조
SELECT 'ALTER TABLE '|| TBNAME || ' ADD CONSTRAINT '|| TBNAME||'_PK PRIMARY KEY ('||REPLACE(SUBSTR(COLNAMES,2),'+',',')||');'
FROM SYSIBM.SYSINDEXES
WHERE UNIQUERULE='P'
AND TBNAME ='테이블명'
5.DB2의 버전 확인
SELECT * FROM SYSIBM.SYSVERSIONS;
6. 칼럼정보 및 물리 DATATYPE 생성
SELECT A.CREATOR
, A.REMARKS
, A.NAME
, A.TYPE
, B.NAME
, B.REMARKS
, B.KEYSEQ
, B.COLTYPE
, B.LENGTH
, B.SCALE
, B.COLNO
, CASE B.COLTYPE WHEN 'DECIMAL' THEN RTRIM(B.COLTYPE)||'('||RTRIM(CHAR(B.LENGTH))||','||RTRIM(CHAR(B.SCALE))||')'
WHEN 'VARCHAR' THEN RTRIM(B.COLTYPE)||'('||RTRIM(CHAR(B.LENGTH))||')'
WHEN 'CHAR' THEN RTRIM(B.COLTYPE)||'('||RTRIM(CHAR(B.LENGTH))||')'
ELSE RTRIM(B.COLTYPE)
END DATA_TYPE
FROM SYSIBM.SYSTABLES A
, (
SELECT * FROM SYSIBM.SYSCOLUMNS
where tbcreator = 'MART'
order by tbname, colno
) B
WHERE A.CREATOR = B.TBCREATOR
AND A.NAME = B.TBNAME
AND A.CREATOR = 'MART'
AND A.TYPE = 'T'
ORDER BY A.NAME
, B.COLNO;
'wif LiNoUz > Oracle,Sql' 카테고리의 다른 글
install oracle 11g on suse11 sp1 (0) | 2013.03.07 |
---|---|
SLSE 11에 오라클 설취 (0) | 2013.03.07 |
DB2 접속 (0) | 2013.02.22 |
SQL_LOADer로 db쳐박기 쉘 or bat (0) | 2013.02.15 |
울트라에디트 단축키 (0) | 2012.12.09 |