Сравните тип данных всех столбцов таблиц с одной конфигурационной таблицей в plsql
У меня есть одна таблица CONFIG_PRAM ,которая содержит столбцы типа - colname, datatype и многие другие детали существующих таблиц.
Ex - CREATE TABLE CONFIG_PRAM ( colname varchar(40),
тип данных varchar(40)
);
Поэтому в основном я должен сравнить те столбцы и тип данных, которые присутствуют в таблице CONFIG_PRAM, со столбцом существующей таблицы.
EX. - у меня есть одна существующая таблица test1 таблица в базе данных create table test1 ( employee_id NUMBER(6), sal NUMBER(6,8));
И если обнаружится какое-либо несоответствие,мне нужно обновить таблицу CONFIG_PRAM с правильным типом данных.
Для вышеописанного в таблице CONFIG_PRAM у нас есть sal, number, но на самом деле это число(6,8) в таблице, поэтому я должен обновить таблицу CONFIG_PRAM с точным типом данных.
Я уже пробовал вот так:
выбрать различные colname , тип данных из CONFIG_PRAM , all_tab_columns где верхний(имя_столбца)=прописн(colname ) и data_type=DataType и имя_таблицы в ('ТЕСТ1')
Но предположим, что таблица A имеет-Number(6,8), а таблица CONFIG_PRAM содержит только-Number, тогда она не дает правильных результатов. Проблема - этот запрос не сравнивает десятичные значения точно , не могли бы вы предоставить решение для этого в sql/PLSQL
Не могли бы вы помочь мне здесь?
Что я уже пробовал:
Я уже пробовал вот так:
выбрать различные colname , тип данных из CONFIG_PRAM , all_tab_columns где верхний(имя_столбца)=прописн(colname ) и data_type=DataType и имя_таблицы в ('ТЕСТ1')
Но предположим, что таблица A имеет-Number(6,8), а таблица CONFIG_PRAM содержит только-Number, тогда она не дает правильных результатов. Проблема - этот запрос не сравнивает десятичные значения точно , не могли бы вы предоставить решение для этого в sql/PLSQL