使用游标的Oracle SQL更新
我有一个关于如何使用光标更新电子邮件域名使用新的电子邮件域名的问题。例如(gmail.com->hotmail.com) 执行使用游标的Oracle SQL更新,sql,oracle,cursor,Sql,Oracle,Cursor,我有一个关于如何使用光标更新电子邮件域名使用新的电子邮件域名的问题。例如(gmail.com->hotmail.com) 执行过程('gmail.com','hotmail.com') 这是我写的。请帮帮我,谢谢 create procedure PR_Q3 is P_NewEamil varchar2(50); P_Email_Address varchar2(50); exceptionforemail exception; cursor E_info is select Email_Add
过程('gmail.com','hotmail.com')
这是我写的。请帮帮我,谢谢
create procedure PR_Q3
is P_NewEamil varchar2(50); P_Email_Address varchar2(50); exceptionforemail exception;
cursor E_info is select Email_Address from Broker where P_Email_Address = Email_Address
for update of Email_Address;
begin
open E_info;
fetch E_info into P_NewEamil;
while E_info%found loop
if(P_NewEamil like '%.com') then
update Broker set Email_Address = P_NewEamil where P_Email_Address = Email_Address;
当光标可以使用以下简单的
update
语句完成时,为什么要使用光标:
UPDATE BROKER
SET
EMAIL_ADDRESS = REPLACE(P_NEWEAMIL, :OLD_DOMAIN, :NEW_DOMAIN)
WHERE
REGEXP_LIKE ( P_NEWEAMIL,'.*@'|| :OLD_DOMAIN|| '$' );
请根据您的要求在其中添加更多的条件
干杯 当光标可以使用以下简单的update
语句完成时,为什么要使用光标:
UPDATE BROKER
SET
EMAIL_ADDRESS = REPLACE(P_NEWEAMIL, :OLD_DOMAIN, :NEW_DOMAIN)
WHERE
REGEXP_LIKE ( P_NEWEAMIL,'.*@'|| :OLD_DOMAIN|| '$' );
请根据您的要求在其中添加更多的条件
干杯 旧域和新域的绑定变量错误,请用实际名称替换旧域和新域。和删除:alsoit在旧域和新域中存在坏的绑定变量错误,只需用实际名称替换旧域和新域即可。并删除:也