Мне нужно выбрать записи, проверить мои критерии выбора и улучшить его, пока не получу все нужные мне записи, а затем удалите (или иным образом измените) их. Пойдем с удалением на данный момент.SQL select in delete DIRECTLY
select <fields> from <database> where <condition>
(проверить, отрегулировать состояние)
delete from <database> where (<same condition>)
Не здесь более простой способ, как трубы, например, засунуть выбранные записи непосредственно в ВЕЬЕТЕ? Я использовал методы выбора всех номеров записей во временную базу данных, но нет ли прямого пути?
Я искал Stack Overflow и нашел несколько вопросов, где люди спрашивают, как преобразовать оператор select в оператор delete, это не то, что я хочу. То, что я имею в виду что-то вроде:
select ... from ... where ... | delete
или, может быть, что-то вроде этого, как обходной путь ...
/* create a list of records to delete */
select ... from ... where ... into @temp
/* shove the list into delete */
delete @temp
Имеет ли стандартные механизмы поддержки SQL для того, что я хочу, или там, может быть, подход к платформе (MS SQL Server)?
Но зачем выбирать данные, которые вы не хотите хранить? Вы не можете просто удалить его? – jarlh
Если вы хотите выбрать что-то на основе какого-то условия - сделайте выбор. Если вы хотите удалить с помощью какого-либо условия - удалите. Зачем смешивать его и изобретать новый синтаксис, трубы и так далее? –
@jarlh По сути, он использует SQL в интерактивном режиме, поэтому для его (узкого) варианта использования и с его особым мышлением это имеет смысл. Я предполагаю, что он исходит из сценариев (Bash, PowerShell, что-то в этом роде). OP - пожалуйста, исправьте меня, если я неправильно понял :) –