Я искал коды, но не смог заставить работать коды на моем SQL-сервере 2017.
Мне нужно создать хранимую процедуру, чтобы избежать дублирования данных из таблицы и удалить все дублированные данные.
Я создал этот код:
CREATE PROCEDURE deldupl_LSBU_Staff AS
SELECT Phone_number, COUNT(*) as CNT
FROM LSBU_Staff
GROUP BY Phone_number
DELETE FROM LSBU_Staff
WHERE Phone_number > 1;
НО, когда я выполняю свой код, он удаляет все записи из таблицы, и я не хочу этого.Я просто хочу удалить все дублированные данные.
Я также создал другой код для удаления дублированных данных из таблицы LSBU_Staff
:
SELECT ROW_NUMBER() OVER(PARTITION BY Phone_number ORDER BY Phone_number)
AS del_dupl_record
FROM LSBU_Staff
WHERE Phone_number > 1
DELETE FROM LSBU_Staff
WHERE Phone_number > 1;
И все равно удаляются все данные.
LSBU_Staff
столбцы: Staff_id
, LastName
, FirstName
, Speciality_type
и Phone_number
.Я выбрал Phone_number
в качестве его идентификации.