2015-11-30 3 views
-2

Я работаю над мета-таблицей, которая представляет собой интеграцию из трех таблиц (с той же структурой базы данных, но имена столбцов могут быть разными), и мне нужно написать функцию, которая должна проверять, является ли столбец имеет функцию (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

Никто не может быть здесь, чтобы решить ваши задания. Пожалуйста, будьте более конкретными и сообщите нам, что вы делали до сих пор, и с какой именно проблемой вы столкнулись. – Ghayel

+2

«* если столбец имеет функцию на них *« для меня не имеет никакого смысла. Столбец не имеет «функции», если вы не говорите о вычисленном столбце. –

+0

Вы говорите о функциональных индексах на столбцах? Пожалуйста, будьте конкретны, если вы хотите qucik и качественный ответ –

ответ

0

Если я не ошибаюсь, вы просите всех функций на основе ПОКАЗАТЕЛЕЙ с их 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'; 
+0

Если это решает ваш вопрос, пожалуйста, примите ответ, иначе сообщите нам об этом. –

 Смежные вопросы

  • Нет связанных вопросов^_^