Здравствуйте, Аноним, Вы писали:
Можно. Для примера я выведу к таблицам столбцы "числовых полей" и строковых полей
SQL> ed
Wrote file afiedt.buf
1 with
2 number_columns as (
3 select owner, table_name, column_name,
4 row_number() over (partition by table_name order by column_name) col_number
5 from dba_tab_columns
6 where data_type = 'NUMBER' and table_name in ( 'DBA_USERS', 'DBA_OBJECTS' )),
7 string_columns as (
8 select owner, table_name, column_name,
9 row_number() over (partition by table_name order by column_name) col_number
10 from dba_tab_columns
11 where data_type = 'VARCHAR2' and table_name in ( 'DBA_USERS', 'DBA_OBJECTS' ))
12 select
13 coalesce ( nc.table_name, sc.table_name ) "table:",
14 nc.column_name "number fields:",
15 sc.column_name "string fields:"
16 from
17 number_columns nc full outer join string_columns sc
18 on ( nc.table_name = sc.table_name and nc.owner = sc.owner and
19 nc.col_number = sc.col_number )
20* order by 1, 2, 3
SQL> /
table: number fields: string fields:
-------------------- -------------------- --------------------
DBA_OBJECTS DATA_OBJECT_ID GENERATED
DBA_OBJECTS OBJECT_ID OBJECT_NAME
DBA_OBJECTS OBJECT_TYPE
DBA_OBJECTS OWNER
DBA_OBJECTS SECONDARY
DBA_OBJECTS STATUS
DBA_OBJECTS SUBOBJECT_NAME
DBA_OBJECTS TEMPORARY
DBA_OBJECTS TIMESTAMP
DBA_USERS USER_ID ACCOUNT_STATUS
DBA_USERS DEFAULT_TABLESPACE
DBA_USERS EXTERNAL_NAME
DBA_USERS INITIAL_RSRC_CONSUME
DBA_USERS PASSWORD
DBA_USERS PROFILE
DBA_USERS TEMPORARY_TABLESPACE
DBA_USERS USERNAME
17 rows selected.