테이블명 | 한글 테이블명 | 컬럼 ID | 컬럼명 | 한글 컬럼명 | TYPE | 길이 | PK | FK |
TB_AA01 | AA관련테이블 | 1 | aaaa2 | aaaa1컬럼 | number | 4,2 | O | O |
TB_AA02 | AA관련테이블 | 2 | aaaa1 | aaaa2컬럼 | char | 1 | X | O |
TB_AA02 | AA관련테이블 | 3 | aaaa4 | aaaa4컬럼 | varchar | 2 | X | X |
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 33 34 35 36 37 38 39 40 41 42 43 44 45 46 47 48 49 50 51 52 53 54 55 56 57 58 59 60 | SELECT X.column_id "Pos" , X.column_name "Column" , X.position "PK" , X.data_type_mod "Ref" , X.data_type_owner "Type Owner" , X.data_type "Type" , X.nullable "Null?" , Y.data_default "Default" , X.comments "Comments" FROM ( select MIN (column_id) column_id, column_name, MIN (position) position, MIN (data_type_mod) data_type_mod, MIN (data_type_owner) data_type_owner, MIN (data_type) data_type, MIN (nullable) nullable, MIN (comments) comments FROM ( select t.column_id, t.column_name, TO_NUMBER( NULL ) position, t.data_type_mod, t.data_type_owner, t.data_type || decode(data_type, 'DATE' , '' , 'CHAR' , ' (' ||t.char_length||decode(CHAR_USED, 'B' , ' Byte' , 'C' , ' Char' )|| ')' , 'VARCHAR2' , ' (' ||t.char_length||decode(CHAR_USED, 'B' , ' Byte' , 'C' , ' Char' )|| ')' , 'NCHAR' , ' (' ||t.char_length||decode(CHAR_USED, 'B' , ' Byte' , 'C' , ' Char' )|| ')' , 'VARCHAR' , ' (' ||t.char_length||decode(CHAR_USED, 'B' , ' Byte' , 'C' , ' Char' )|| ')' , 'NVARCHAR2' , ' (' ||t.char_length||decode(CHAR_USED, 'B' , ' Byte' , 'C' , ' Char' )|| ')' , 'RAW' , ' (' ||t.data_length|| ')' , 'NUMBER' ,Decode(data_scale, NULL , decode(data_precision, NULL , NULL , ' (' ||data_precision|| ')' ) ,0,decode(data_precision, NULL , ' (38)' , ' (' ||data_precision|| ')' ) , ' (' ||data_precision|| ',' ||data_scale|| ')' ), 'FLOAT' ,Decode(data_scale, NULL , decode(data_precision, NULL , NULL , ' (' ||data_precision|| ')' ) ,0, ' (' ||data_precision|| ')' , ' (' ||data_precision|| ',' ||data_scale|| ')' )) data_type, DECODE(t.nullable, 'Y' , '' , 'N' ) nullable, c.comments from sys.dba_tab_columns t, sys.dba_col_comments c where t.owner = :p_owner and t.table_name = :p_tab and t.owner = c.owner and t.table_name = c.table_name and t.column_name = c.column_name UNION ALL select TO_NUMBER( NULL ), c.column_name, c.position, NULL , NULL , NULL , NULL , NULL from sys.dba_constraints p, sys.dba_cons_columns c where p.owner = :p_owner and p.table_name = :p_tab and p.constraint_type = 'P' and p.owner = c.owner and p.table_name = c.table_name and p.constraint_name = c.constraint_name ) GROUP BY COLUMN_NAME ) X, sys.dba_tab_columns Y WHERE X.COLUMN_NAME = Y.COLUMN_NAME AND Y.owner = :p_owner AND Y.table_name = :p_tab order by X.column_id |