Удалить все, кроме верхних n, из таблицы базы данных в SQL
Я бы выбрал столбец ID — набор sql-query строк, которые вы хотите sql-statement сохранить во временной таблице sql-statement или табличной переменной. Затем sql-syntax удалите все строки, которые sql не существуют во временной sql таблице. Синтаксис, упомянутый sql-syntax другим пользователем:
DELETE FROM Table WHERE ID NOT IN (SELECT TOP 10 ID FROM Table)
Имеет sqlselect потенциальную проблему. Запрос sqlselect «SELECT TOP 10» будет выполняться sql-select для каждой строки в таблице, что sql-query может сильно сказаться на select-statement производительности. Вы хотите sql-statement избежать повторения одного sql-statement и того же запроса снова и sql-syntax снова.
Этот синтаксис должен sqlselect работать, основываясь на sql-query том, что вы указали в качестве sql исходного оператора SQL:
create table #nuke(NukeID int)
insert into #nuke(Nuke) select top 1000 id from article
delete article where not exists (select 1 from nuke where Nukeid = id)
drop table #nuke
sql
Удалить все, кроме верхних n, из таблицы базы данных в SQL
Мы используем файлы cookies для улучшения работы сайта. Оставаясь на нашем сайте, вы соглашаетесь с условиями использования файлов cookies. Чтобы ознакомиться с нашими Положениями о конфиденциальности и об использовании файлов cookie, нажмите здесь.