такая стоит: есть таблица в стэйдже, с колонками ид номер, фио, дата рождения, дата приема на работу, телефон, статус и т.д. Каждую колонку надо провалидировать, фио не больше 30 знаков, номер - действительно номер, дата - валидная дата и т.д. Если в строке есть невалидная запись, то есть если хоть одна колонка невалидна, то надо записать это и пояснение ошибки в отдельную таблицу. Думаю написать процедуру, которая будет через loop вести проверку всех полей на валидность. И вот тут завис немного, как записывать ошибку когда она будет обнаружена, через case when я так понимаю не получится, как тогда ? Записывать ошибки в переменные и в конце loop сделать if else statement, если ошибка не ноль, то сделай insert into … если нет, то запись валидна и можно сделать update этой таблицы в колонку status = valid ? Или есть более логичные решения, не подскажете ?
нет, миграция - очень полезный опыт, я не спорю. просто в этой конкретной задаче (валидация и анализ) на plsql особо ничего не напишешь и не натренируешься )) голый SQL
Это смотря как подойти. Можно и на плскл написать вариант, сравнить результаты и удобство.
Вы на верном пути!
Обсуждают сегодня