Member 13695405 Ответов: 0

Сравните тип данных всех столбцов таблиц с одной конфигурационной таблицей в 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

0 Ответов