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;
/