Задача. Ревью. Замена домена в 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