Главная / Программирование в Microsoft SQL Server 2000 / CREATE TRIGGER TrackCustomerUpdates ON AppDta.dbo.Customer FOR INSERT, UPDATE, DELETE AS DECLARE @InsertedCount INT DECLARE @DeletedCount INT SET @InsertedCount = ( SELECT COUNT (*) FROM INSERTED ) SET @DeletedCount = ( SELECT COUNT(*) FROM DELETED ) IF (

CREATE TRIGGER TrackCustomerUpdates ON AppDta.dbo.Customer FOR INSERT, UPDATE, DELETE AS DECLARE @InsertedCount INT DECLARE @DeletedCount INT SET @InsertedCount = ( SELECT COUNT (*) FROM INSERTED ) SET @DeletedCount = ( SELECT COUNT(*) FROM DELETED ) IF ( @InsertedCount > 0 ) BEGIN INSERT INTO AppDta.dbo.CustUpdLog ( CustId, Action, UpdUser, UpdDateTime ) SELECT CustId, CASE WHEN ( @DeletedCount > 0 ) THEN 'Update' ELSE 'Insert' END, CURRENT_USER, CURRENT_TIMESTAMP FROM INSERTED END ELSE IF ( @DeletedCount > 0 ) BEGIN INSERT INTO AppDta.dbo.CustUpdLog ( CustId, Action, UpdUser, UpdDateTime ) SELECT CustId, 'Delete', CURRENT_USER, CURRENT_TIMESTAMP FROM DELETED END Данный сценарий выполняет действия:

вопрос

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

временная таблица INSERTED содержит строки в том случае, когда инструкция INSERT или UPDATE обработала хотя бы одну строку. А временная таблица DELETED содержит строки в том случае, когда инструкция DELETE или UPDATE обработала хотя бы одну строку. Для инструкции UPDATE таблица DELETE содержит обновленные строки со старыми значениями, а таблица INSERTED содержит те же строки с новыми значениями. В приведенном примере учтена еще одна особенность триггеров: триггеры операций DELETE и UPDATE вызываются даже в том случае, если операция не удалила или не обновила ни одной строки (потому что не нашлось строк, соответствующих условию WHERE)
временная таблица DELETED содержит строки в том случае, когда инструкция INSERT или UPDATE обработала хотя бы одну строку. А временная таблица INSERTED содержит строки в том случае, когда инструкция DELETE или UPDATE обработала хотя бы одну строку. Для инструкции UPDATE таблица DELETE содержит обновленные строки со старыми значениями, а таблица DELETED содержит те же строки с новыми значениями. В приведенном примере учтена еще одна особенность триггеров: триггеры операций DELETE и UPDATE вызываются даже в том случае, если операция не удалила или не обновила ни одной строки (потому что не нашлось строк, соответствующих условию WHERE)
временная таблица DELETED содержит строки в том случае, когда инструкция INSERT или UPDATE обработала хотя бы одну строку. А временная таблица INSERTED содержит строки в том случае, когда инструкция UPDATE обработала ВСЕ строки. Для инструкции UPDATE таблица DELETE содержит обновленные строки со старыми значениями, а таблица DELETED содержит те же строки с новыми значениями. В приведенном примере учтена еще одна особенность триггеров: триггеры операций DELETE и UPDATE вызываются даже в том случае, если операция не удалила или не обновила ни одной строки (потому что не нашлось строк, соответствующих условию WHERE)
Сложность вопроса
88
Сложность курса: Программирование в Microsoft SQL Server 2000
83
Оценить вопрос
Очень сложно
Сложно
Средне
Легко
Очень легко
Комментарии:
Аноним
Я провалил зачёт, какого рожна я не углядел этот крутой сайт с всеми ответами по тестам интуит прежде
24 авг 2017
Аноним
Пишет вам сотрудник университета! Прямо сейчас сотрите ответы по интуит. Немедленно!
10 окт 2015
Оставить комментарий
Другие ответы на вопросы из темы базы данных интуит.