У меня есть таблица с именем sales_staff_08 и имя, фамилия, имя пользователя как 3 cols.Как обновить запись, которая дублируется PL/SQL в процедуре
имя пользователя объединено с использованием имени и фамилии.
потому что он может быть дублирован. Поэтому я хочу избежать, добавив некоторое число.
Текущая таблица
USERNAME
----------
JOHSMITH1
TOMNGUYE1
STEREDMO1
BOBJOHN1
CARJONES1
DANCREIG1
STEREDMO1
TOMNGUYE1
Я хочу, чтобы обновить запись, которая дублируется, оно должно быть показано, как это:
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;
/
Я думаю, что вы должны изменить структуру таблиц, в основном для добавления уникального идентификатора для каждого имени, чтобы обновить имя пользователя, где условие с использованием соответствующего id, а не rec_cur_concate.username ,. Или я думаю, что есть возможный способ использования триггера. – ajmalmhd04
Фактически у меня был sales_staff_id как первичный ключ. –