Главная / Программирование в Microsoft SQL Server 2000 / 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 custom

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 ) RETURN END RETURN Данный сценарий выполняет действия:

вопрос

Правильный ответ:

удаляются соответствующие строки таблицы Sale, т.к. все они устарели, затем проверяется, имеются ли в таблице Sale прошлогодние заказы удаляемых клиентов, затем удаляются клиенты и, в случае неудачи, отменяются все изменения
проверяется, имеются ли в таблице Sale прошлогодние заказы удаляемых клиентов, затем удаляются соответствующие строки таблицы Sale, т.к. все они устарели, удаляются клиенты и, в случае неудачи, отменяются все изменения
удаляются соответствующие строки таблицы Sale, т.к. все они устарели, в случае неудачи, отменяются все изменения, затем проверяется, имеются ли в таблице Sale прошлогодние заказы удаляемых клиентов, затем удаляются клиенты
Сложность вопроса
91
Сложность курса: Программирование в Microsoft SQL Server 2000
83
Оценить вопрос
Очень сложно
Сложно
Средне
Легко
Очень легко
Комментарии:
Аноним
Это очень заурядный тест по интуиту.
30 мар 2019
Аноним
Какой студент ищет эти тесты по интуит? Это же изи
26 окт 2016
Оставить комментарий
Другие ответы на вопросы из темы базы данных интуит.