【发布时间】:2017-03-11 04:45:30
【问题描述】:
我是 Oracle 的新手。该表包含名字和姓氏(电子邮件为空)。我的问题是编写具有这些要求的 PL/SQL(Procedure)。
a) firstname 的第一个字母与 lastname 连接(Dan Smilze - - > DSmilze);
b) 删除所有重音符号(ä - - > a, ö - - > o, ...);
c) 如果出现两封相同的电子邮件,则使用 2 个首字母代替名字中的一个字母 (Dan Smilze - - > DaSmilze);
e) 用户名与“@gmail.com”连接
结果应该是:
FIRSTNAME LASTNAME EMAIL
Dan Smilze DSmilze@gmail.com
Ceo Jürisoo CJurisoo@gmail.com
我的代码是:
CREATE OR REPLACE PROCEDURE merge_email
IS
BEGIN
UPDATE emails set Email = (select CONCAT(substr(firstname,1,1),convert(lastname,'US7ASCII')) from email_lphanvan);
END merge_email;
我知道我的代码不够用,而且不知何故是错误的。你能帮我理解这个程序吗?非常感谢!
【问题讨论】:
-
像
Ed O’Neill这样的名字会发生什么? -
我在这种情况下不工作。顺便说一句,在我的国家只是流行的名字。 @WernfriedDomscheit
-
如果你有两个“彼得·史密斯”会怎样?
-
如果出现两个相同的电子邮件,则使用两个首字母代替名字中的一个字母(Dan Smilze - - > DaSmilze); @WernfriedDomscheit
-
如果你有 4 个 Dan Smilze 会怎样?
标签: sql-server oracle stored-procedures procedure concat