Как удалить самую старую неделю (период) в базе данных MS SQL?
MS SQL 2008R2 Express, у меня есть база данных – одна таблица со строками. И когда размер db стал около 10gb, мне нужно очистить одну самую старую неделю в этой таблице (я не знаю дату). Не могли бы вы помочь мне со сценарием? Благодарю.
UPD1. Есть столбец DateAndTime, поэтому я делаю такой запрос в VBA:
strSQL = "SELECT DateAndTime ,TagName ,Val ,SetPoint ,Limit_H ,Limit_L ,Result FROM dbo.Statistic WHERE DateAndTime BETWEEN CAST('" & TimeBegin & "' AS datetime) AND CAST( '" & TimeEnd & " ' AS datetime) Order By DateAndTime desc , (CASE WHEN ISNUMERIC(TagName)=1 THEN CAST(CAST(TagName AS float) AS INT)END ) desc"
- Ошибка Microsoft Access: «Из-за ваших настроек безопасности и текущей политики безопасности этот элемент управления отключен»
- VBA пустая строка для вставки в SQL Server
- VBA Access записывает данные с SQL-сервера в Access DB
- Как имитировать ошибку тайм-аута ODBC?
- Вызов хранимой процедуры при передаче параметров из модуля доступа в VBA
- Что такое эквивалент VBA для использования Command.Prepare в ADO.NET
- Выполнение параметризованной хранимой процедуры T-SQL в Access vba
- Замена таблицы данных SQL новыми данными
- Как установить первичный ключ при соединении с CreateTableDef
- Excel 2010 VBA adodb подключение к SQL Server 2010 время ожидания
- Доступ к Frontend 2010 перед запросами к серверу SQL Server 2014
- Проблема с обновлением базы данных VBA через MS Access 97, нарушение блокировки записи?
- Доступ к хранимой процедуре SQL Server (не содержащей инструкции SELECT) из Excel VBA, в идеале без использования Excel Data Connections?
Как насчет этого –
DELETE YOUR_TABLE WHERE DATE_COL BETWEEN (SELECT MIN(DATE) FROM YOUR_TABLE) AND (SELECT MIN(DATE) FROM YOUR_TABLE) + 7
Как предложил Анкит, используйте min () даты и добавьте неделю
delete from dbo.statistic where dateandtime between min(dateandtime) and dateadd(week, 1, min(dateandtime))