У меня есть ряд таблиц, которые я должен переместить в другую базу данных.В процессе их перемещения мне нужно проверить каждую ячейку и, если она имеет определенное значение, обнулить эту ячейку.
У меня есть таблица, содержащая метаданные с атрибутами, которые указывают на каждую ячейку, и список неверных значений, которые должны быть удалены из исходных таблиц.
Например, у меня есть следующая таблица
TABLE1
ColumnA | ColumnB | ColumnC |
7 | 10 | DK |
83 | -7 | |
16 | 0 | True |
Тогда в таблице метаданных есть
Tablename | Column | Bad Value 1 | Bad Value 2 |
TABLE1 |ColumnC | DK | BOL |
TABLE1 |ColumnA | -99 | -1 |
TABLE1 |ColumnB | -1 | -7 |
В скопированной и преобразованной таблице TABLE1 у меня будет
TABLE1
ColumnA | ColumnB | ColumnC |
7 | 10 | NULL |
83 | NULL | |
16 | 0 | True |
Я хочу понять, что будет лучшим способом сделать это.Я рассмотрел написание функции, которая вызывается для каждой ячейки.Будет передана метаинформация, необходимая для поиска ячейки в таблице метаданных «плохих значений», и текущее значение ячейки, а затем вернет значение ячейки или NULL, в зависимости от того, соответствует ли ячейка какой-либо из соответствующихплохие ценности.
Если я пойду по этому пути, я могу применить его в точке, в которой я читаю значение из исходной таблицы, записываю значение в новую таблицу или, после копирования, запускаю отдельный процесс, который изменитзначение в скопированной таблице.
Мне нужно будет повторять процесс периодически (еженедельно).
Буду очень признателен за любые советы, которые вы можете дать.
Том