SELECT NULL AS table_cat, t.owner AS table_schem, t.table_name AS table_name, t.column_name AS column_name, DECODE (t.data_type, 'CHAR', 1, 'VARCHAR2', 12, 'NUMBER', 3, 'LONG', -1, 'DATE', 93, 'RAW', -3, 'LONG RAW', -4, 1111) AS data_type, t.data_type AS type_name, DECODE (t.data_precision, null, t.data_length, t.data_precision) AS column_size, 0 AS buffer_length, t.data_scale AS decimal_digits, 10 AS num_prec_radix, DECODE (t.nullable, 'N', 0, 1) AS nullable, (select COMMENTS from user_col_comments where (table_name=t.TABLE_NAME) and ((COLUMN_NAME=t.COLUMN_NAME))) AS remarks, t.data_default AS column_def, 0 AS sql_data_type, 0 AS sql_datetime_sub, t.data_length AS char_octet_length, t.column_id AS ordinal_position, DECODE (t.nullable, 'N', 'NO', 'YES') AS is_nullable FROM all_tab_columns t where t.TABLE_NAME='CA10'
从oracle中手工查询注释(不同用户)
select o.name, c.name, co.comment$ from sys.obj$ o, sys.col$ c, sys.com$ co where o.type# in (2, 4) and o.obj# = c.obj# and c.obj# = co.obj#(+) and c.intcol# = co.col#(+) and bitand(c.property, 32) =0and o.name='AC10'; select o.name, c.name, co.comment$ from sys.obj$ o, sys.col$ c, sys.com$ co where o.type# in (2, 4) and o.obj# = c.obj# and c.obj# = co.obj#(+) and c.intcol# = co.col#(+) and bitand(c.property, 32) =0and o.name='CA10' and o.owner# = (select u.user# from sys.user$ u where u.name ='POC'); select co.comment$ from sys.obj$ o, sys.col$ c, sys.com$ co where o.type# in (2, 4) and o.obj# = c.obj# and c.obj# = co.obj#(+) and c.intcol# = co.col#(+) and bitand(c.property, 32) =0and o.name='AC10' and o.owner# = (select u.user# from sys.user$ u where u.name ='POC');
SELECT A.TABLE_NAME, A.COLUMN_ID, A.COLUMN_NAME, B.COMMENTS, DECODE(A.DATA_TYPE,'VARCHAR2',A.DATA_TYPE||'('||TO_CHAR(A.DATA_LENGTH)||')', 'NUMBER',A.DATA_TYPE ||DECODE(A.DATA_PRECISION,NULL,NULL, '('||TO_CHAR(A.DATA_PRECISION) ||DECODE(A.DATA_SCALE,NULL,NULL,0,NULL, ','||TO_CHAR(A.DATA_SCALE)) ||')' ), 'CHAR',A.DATA_TYPE||'('||TO_CHAR(A.DATA_LENGTH)||')', 'FLOAT',A.DATA_TYPE||'('||TO_CHAR(A.DATA_PRECISION)||')', 'DATE',A.DATA_TYPE, A.DATA_TYPE ) DATA_TYPE, A.NULLABLE, DECODE(SUBSTR(C.CONSTRAINT_NAME,1,3),'PK_','Y','N') IS_PRIMARY_KEY, C.POSITION FROM COLS A,USER_COL_COMMENTS B,USER_CONS_COLUMNS C WHERE A.COLUMN_NAME = B.COLUMN_NAME AND A.TABLE_NAME = B.TABLE_NAME AND A.TABLE_NAME = C.TABLE_NAME(+) AND A.COLUMN_NAME = C.COLUMN_NAME(+) AND C.OWNER(+) =USER AND C.CONSTRAINT_NAME(+) LIKE'PK_%'
数据库是dbf格式的,导数据到sql server 2000,代码如下(看的别人的,不过,sql server 2000的帮助中有):