如何替换电子邮件域名

问题描述 投票:0回答:1

我试图在过程中使用游标时写一个更新电子邮件域的过程(例如:将[email protected]转换为[email protected]

create of replace procedure pr_update_email
(Old_Email Varchar2, New_Email Varchar2)
    As
    V_OldDomain Varchar2(50);
      Cursor C_Domains IS Select Email_Address
                From Customer
                where Email_Address Like '%@'||Old_Email;       
          Begin
          Open C_Domains;
          Fetch C_Domains INTO V_OldDomain; 
          While C_Domains %Found loop
                    Update Customer
                    Set Email_Address = Replace(Email_Address, Substr(Email_Address, Instr(Email_Address) + 1), New_Email)
                    WHERE Email_Address LIKE V_OldDomain;   
          Fetch C_Domains into New_Email;
          End Loop;
  Close C_Domains;
End pr_update_email;
/
Show Errors;

得到错误:19/11 PL / SQL:忽略了SQL语句

19/32 PLS-00403:表达式'NEW_EMAIL'不能用作对象的INTO目标SELECT / FETCH语句

regex oracle oracle10g
1个回答
0
投票
为什么使用cursor?可以使用简单的update语句进行处理。
© www.soinside.com 2019 - 2024. All rights reserved.