我有一个名为 sales_staff_08 的表,名字、姓氏、用户名是 3 个列。
用户名使用名字和姓氏连接。
因为它可能会被复制。因此,我想通过添加一些数字来避免。
当前表
USERNAME
----------
JOHSMITH1
TOMNGUYE1
STEREDMO1
BOBJOHN1
CARJONES1
DANCREIG1
STEREDMO1
TOMNGUYE1
我想更新重复的 RECORD,它应该显示如下:
USERNAME
----------
JOHSMITH1
TOMNGUYE1
STEREDMO1
BOBJOHN1
CARJONES1
DANCREIG1
STEREDMO2
TOMNGUYE2
我第一次尝试更新记录
CREATE OR REPLACE PROCEDURE proc_concate_names IS
vc_username VARCHAR(25);
v_number NUMBER (2) := 1;
CURSOR cur_concate_username IS
SELECT firstname, surname, username FROM sales_staff_08;
BEGIN
FOR rec_cur_concate IN cur_concate_username
LOOP
vc_username := rec_cur_concate.firstname || rec_cur_concate.surname || v_number;
UPDATE sales_staff_08 ss
SET username = vc_username
WHERE ss.username = rec_cur_concate.username;
END LOOP;
END proc_concate_names;
/