Обложка канала

Oracle Developer👨🏻‍💻

Все о разработке в СУБД "Oracle" SQL, PL/SQL, оптимизация, архитектура, сертификации и многое другое.

Oracle Developer👨🏻‍💻

4 года назад
Открыть в
Задача. Ревью. Замена домена в email ✉️ Представьте, что вам на код-ревью junior отправил код процедуры (см ниже). Функционал: замена домена в email’ах некой таблицы broker. Предполагается, что объем измененных данных будет около 100К строк. create or replace procedure change_domain(p_olddomainname varchar2 ,p_newdomainname varchar2) is cursor c_emailaddress is select broker_number ,email_address from broker where lower(email_address) like '%@' || lower(p_olddomainname); v_brokernumber broker.broker_number%type; v_emailaddress broker.email_address%type; v_localaddress broker.email_address%type; v_atposition number(2, 0); begin open c_emailaddress; loop fetch c_emailaddress into v_brokernumber ,v_emailaddress; exit when c_emailaddress%notfound; v_atposition := instr(v_emailaddress, '@'); v_localaddress := substr(v_emailaddress, 1, v_atposition); update broker set email_address = v_localaddress || p_newdomainname where broker_number = v_brokernumber; end loop; close c_emailaddress; end; / ❓ Пропустите ли вы такой код? Если нет, то почему? Есть ли в нем проблемы? Какие рекомендации дадите разработчику? Обсудить в нашем ламповом чатике. Анализ, как всегда, в четверг 🎓 #задача Oracle Developer