Я хочу заменить имя домена с помощью курсора без al oop, который является явным курсором. но я также хочу изменить все те же доменные имена в базе данных, передавая строку. пример: exe c PR_Q3 («usa.com», «hotmail.com»); все доменное имя с базой данных «usa.com» изменится на «hotmail.com».
create or replace procedure PR_Q3
(old_email in varchar2, new_email in varchar2)
authid current_user
is
cursor E_info is select Email_Address from broker
where REGEXP_LIKE (substr(Email_Address, instr(Email_Address,'@')+1), old_email);
v_email E_info%rowtype;
begin
open E_info;
loop
fetch E_info into v_email;
exit when E_info%notfound;
update broker set
Email_Address = replace(Email_Address,substr(Email_Address,instr(Email_Address,'@')+1),new_email)
where Email_Address = v_email.Email_Address;
end loop;
close E_info;
end PR_Q3;
работает, если я удаляю l oop, но меняет имя домена только один раз. Мне нужны изменения все того же доменного имени. Я хочу сделать то же самое без al oop. Можно я?