CREATE TRIGGER CustomerDelete ON Customer INSTEAD OF - Ответ на вопрос по информатике №1248346
Новинка
-37%
Вопрос
CREATE TRIGGER CustomerDelete ON Customer INSTEAD OF DELETE AS SET NOCOUNT ON IF ( EXISTS ( SELECT * FROM DELETED JOIN Sale ON DELETED.CustId = Sale.CustId WHERE DATEDIFF( DAY, SaleDate, CURRENT_TIMESTAMP ) < 365 ) ) BEGIN RAISERROR( 'One or more customers have recent sales', 16, 1) RETURN END DELETE FROM Sale WHERE CustId IN ( SELECT CustId FROM DELETED ) IF ( @@ERROR > 0 ) BEGIN ROLLBACK RAISERROR( 'Could not delete all old sales', 16, 2 ) RETURN END DELETE FROM Customer WHERE CustId IN ( SELECT CustId FROM DELETED )IF ( @@ERROR > 0 ) BEGIN ROLLBACK RAISERROR( 'Could not delete all old customers', 16, 3 ) RETURNENDRETURN Данный сценарий выполняет действия:- удаляются соответствующие строки таблицы Sale, т.к. все они устарели, в случае неудачи, отменяются все изменения, затем проверяется, имеются ли в таблице Sale прошлогодние заказы удаляемых клиентов, затем удаляются клиенты
- удаляются соответствующие строки таблицы Sale, т.к. все они устарели, затем проверяется, имеются ли в таблице Sale прошлогодние заказы удаляемых клиентов, затем удаляются клиенты и, в случае неудачи, отменяются все изменения
- проверяется, имеются ли в таблице Sale прошлогодние заказы удаляемых клиентов, затем удаляются соответствующие строки таблицы Sale, т.к. все они устарели, удаляются клиенты и, в случае неудачи, отменяются все изменения
Ответ
Этот вопрос в коллекциях

Гарантия сдачи без лишних хлопот! ✅🎓 Ответы на тесты по любым дисциплинам, базы вопросов, работы и услуги для Синергии, МЭИ и других вузов – всё уже готово! 🚀 🎯📚 Гарантия качества – или возврат денег! 💰✅










