-2

我一直在研究一个元表,它是 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)
4

1 回答 1

0

如果我没有错,您要求所有基于函数的索引及其 DDL,以便您可以确定在哪个列上应用了哪种类型的索引希望下面的代码有帮助。

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';
于 2015-12-01T07:42:52.107 回答