Общая характеристика. К корректирующим запросам относятся запросы на обновление (Update) и на удаление (Delete) записей, а также добавление (Append, Insert)[†] записей из одной таблицы или нескольких связанных таблиц в конец другой таблицы. В документации по Access к типу «запросов на изменение» отнесены не только перечисленные выше запросы, но еще и «запрос на создание таблицы». Последний запрос все-таки отличается от названных ранее: первый круг запросов меняет содержание существующих таблиц, а последний - создает новую таблицу, т.е. фактически меняет имеющуюся структуру базы данных. Поэтому «запрос на создание таблицы» выделен в отдельную группу.
Корректирующие запросы на обновление и удаление могут изменять как все записи таблицы, так и определенное их подмножество -это будет зависеть от условия отбора. Так, например, запрос, приведенный на рис. 6.38, увеличит зарплату всех сотрудников на 30% (так как условие отбора не задано). Запрос, изображенный на рис. 6.39, изменит зарплату одного конкретного сотрудника (см. условие отбора данного запроса) и установит для нее значение, указанное в запросе.
При выполнении корректирующих запросов система осуществляет контроль ограничений целостности. Так, например, если при описании таблицы было задано ограничение на максимально допустимое значение поля «Оклад», то при выполнении запроса (см. рис. 6.38) в случае нарушения ограничения может быть выдано сообщение, подобное приведенному на рис. 6.40. Если выбрать вариант «Да», то для записей, нарушающих ограничение на значение, корректировка вообще выполнена не будет. В нашем примере такой выбор будет неправильным, поскольку в этом случае у одних сотрудников зарплата будет повышена, а у других - нет. Причем потом разобраться, у кого она была повышена, а у кого - нет, будет практически невозможно. В рассматриваемой ситуации следует отказаться от выполнения запроса, скорректировать при необходимости ограничение на значение и только после этого выполнить запрос.
предыдущаяследующая