#sql #sql-server
#sql #sql-сервер
Вопрос:
Я изо всех сил пытаюсь удалить запись в моей таблице каждые 3 секунды. Как только я ввел все данные, система должна иметь возможность удалять все записи, которые происходят через 3 секунды после первого ввода. Я попробовал этот код, но он не сработал хорошо.
delete from table_8
where datediff(second,Date_Time,Getdate()) < 3
Комментарии:
1. mssql, я полагаю?
2. какой драйвер sql вы используете? mssql, mysql, postgre? Если вы используете mysql, то вам нужно указать и предложение INTERVAL, которое определяет, на какой шкале находится 3, здесь действительно расплывчато, это 3 минуты, секунды, часы, дни, годы … или что?
3. Microsoft SQL server 2014 Management studio
Ответ №1:
Я думаю, ваша проблема в том, что некоторые значения могут быть отрицательными. Я думаю, что это понятнее:
delete
from table_8
where date_time < dateadd(second, -3, getdate());
Это также может использовать индекс на table_8(date_time)
для повышения производительности.