Попытка создать VIEW, который начинается с добавления строк клиентов в CTE, удаляет некоторых клиентов, которые соответствуют определенным критериям из CTE, а затем выполняет окончательный SELECT. Получение следующей ошибки прямо перед оператором удаления:
Сообщение 156, Уровень 15, Состояние 1, Процедура vwUpForRN, Строка 23 [Стартовая строка начала 0]
Неверный синтаксис рядом с ключевым словом «Удалить»
SQL:
ALTER VIEW vwUpForRN
AS
WITH UpForRN ([CustomerID]
,[ContractStartDate]
,[ContractEndDate]
,[PlanName]
,[ProductID]
,[ContractTimeline]) AS
(
SELECT
[CustomerID],
[ContractStartDate],
[ContractEndDate],
[PlanName],
[ProductID],
[ContractTimeline]
FROM
[Reporting].[Customer].[vwContracts]
WHERE
ContractCategory = 'Regular'
AND DATEDIFF(DAY, GETDATE(), ContractEndDate) <= 60
AND ContractTimeline <> 'Past'
)
DELETE FROM UpForRN
WHERE ContractTimeline = 'Future'