我一直在研究一个元表,它是3个表的集成(具有相同的数据库结构,但列名可能不同),我必须编写一个函数来检查列是否有函数(to_Char() ) 在他们。还有很多专栏。因此,必须将语法推广到搜索所有已写入to_char函数的列。
示例:
CONONICAL DB1 DataType DB1 Function DB1 DB2
CUSTOMER_TABLE customer_tb Table CUSTOMERS Table
CUSTOMER_ID Cust_id number to_char(cust_id) cust_id number
CUSTOMER_NAME Cust_name varchar2(20) cust_name varchar2(20)
CUSTOMER_ADDRESS Cust_address varchar2(20) cust_add varchar2(20)
答案 0 :(得分:0)
如果我没有错,你要求所有基于函数的INDEXES及其DDL,以便您可以确定哪个类型的INDEX应用于哪一列希望下面的代码有帮助。
SELECT IDX.TABLE_OWNER,
IDX.INDEX_NAME,
IDX.INDEX_TYPE,
IDX.TABLE_NAME,
IND.COLUMN_NAME,
dbms_metadata.get_ddl('INDEX',IDX.INDEX_NAME,IDX.TABLE_OWNER) ddl_script
FROM all_indexes IDX,
ALL_IND_COLUMNS IND
WHERE OWNER = <OWNER_NAME>
AND IND.INDEX_NAME = IDX.INDEX_NAME
AND IND.TABLE_OWNER = IDX.TABLE_OWNER
AND IDX.INDEX_TYPE = 'FUNCTION-BASED NORMAL';