我需要以下查询只返回具有UNIQUE约束的列:
SELECT col.owner as schema_name,
col.table_name,
column_name,
data_type,
data_precision
FROM sys.dba_tab_cols col
JOIN sys.dba_tables tab on col.owner = tab.owner
and col.table_name = tab.table_name
WHERE data_type in ('NUMBER','BINARY_FLOAT', 'BINARY_DOUBLE','FLOAT')
and data_precision IS NOT NULL
ORDER BY col.owner,
col.table_name,
column_id;
1条答案
按热度按时间bq9c1y661#
这将需要与另外两个表进行联接,这两个表包含有关约束和所涉及的列的信息。
我把所有者限制在一个;你可能会想做相反的事情--删除你不感兴趣的用户,比如XNUMX、SYSTEM等。