Я пытаюсь удалить некоторые документы из таблицы файлов сервера sql.
Здесь у меня есть одна таблица, в которой я храню все данные и документы моего вложения в файловой таблице сервера sql с именем Attchemnts.
Таблица AttachmentDetails имеет следующую схему:
CREATE TABLE [dbo].[AttachmentDetails](
[Id] [int] IDENTITY(1,1) NOT NULL PRIMARY KEY,
[DocumentName] [nvarchar](max) NULL,
[DocumentType] [nvarchar](max) NULL,
[ModifiedDateTime] [datetime] NOT NULL,
[CreatedDateTime] [datetime] NOT NULL,
[CreatedBy] [nvarchar](254) NULL,
[ModifiedBy] [nvarchar](254) NULL,
[IsDeleted] [bit] NULL,
)
Всякий раз, когда я загружаю какой-либо документ в таблицу файлов, я вставляю подробную информацию об этом документе в таблицу AttchemntsDetails в соответствии со схемой таблицы.
Здесь я попробовал следующее решение
CREATE PROCEDURE [dbo].[DeleteFiles]
AS
BEGIN
DELETE Attachments
FROM AttachmentDetails a
WHERE
DocumentType = 'video/mp4' AND DATEDIFF(day, a.CreatedDateTime, GETDATE())<11
end
Эта процедура предполагает удаление только файлов Video/mp4, которые старше на 10 дней. Но она удаляет любой тип документа из таблицы файлов.
DELETE ... FROM ... WHERE ...
Тип хранилища не имеет значения - person Panagiotis Kanavos   schedule 12.08.2019TOP 1
запросы вернут, если нет предложения ORDER BY. Что ты пытаешься сделать? Гораздо проще написать правильныйDELETE
запрос, чем этот сложный цикл. - person Panagiotis Kanavos   schedule 12.08.2019WHERE
во всех запросах.WHERE DocumentType = 'video/mp4' AND CreatedDateTime < DATEADD(day,30,getdate())
проверяет все записи на оба условия и удаляет только те, которые соответствуют - person Panagiotis Kanavos   schedule 12.08.2019ID
первичным ключом в обеих таблицах? Что такоеTable1
? - person Panagiotis Kanavos   schedule 12.08.2019