Добавил:
Upload Опубликованный материал нарушает ваши авторские права? Сообщите нам.
Вуз: Предмет: Файл:
лекции ОПБД.doc
Скачиваний:
93
Добавлен:
10.06.2015
Размер:
861.7 Кб
Скачать

Создание запросов-действий при помощи sql Обновление, удаление и вставка данных из другой таблицы при помощи запросов-действий

Любые изменения исходных данных в Microsoft Access можно проделать даже в режиме таблицы, но на самом деле это справедливо, если работа производится с одной или с достаточно небольшим набором записей. Если нужно произвести одинаковые действия со множеством записей, то работа с каждой записью отдельно может оказаться невыполнимой.

Чтобы избежать этого в Microsoft Access существуют такие объекты как запросы-действия, которые позволяют найти необходимые записи и автоматически произвести в них необходимые изменения. Для изменения данных уже существующих таблиц Access имеет три вида запросов-действий:

Запрос-обновление. Данный вид запросов позволяет произвести изменение значений одного или нескольких полей выбранных записей. При этом новые значения могут получаться как на основе старых данных, так и каким-либо другим способом.

Запрос на удаление. Как правило не имеет смысла всегда хранить все собранные в базе данные. Имеет смысл со временем заменять часть исходной информации итоговой и затем удалять ненужные данные. Именно для этих целей и служит данный вид запросов.

Запрос на добавление. Используя данный вид запросов, можно скопировать выбранные записи и поместить их в другую таблицу.

В момент создания любого запроса Access всегда по умолчанию создает запрос-выборку. При создании запросов-действий необходимо сначала создать запрос-выборку, используя условия отбора, позволяющие выбрать те записи, над которыми необходимо произвести соответствующие действия. После этого при помощи меню или панели инструментов можно преобразовать полученный запрос-выборку в один из запросов-действий одним щелчком мыши.

Запрос-обновление

При преобразовании запроса-выборки в запрос-обновление изменяется заголовок окна запроса и в бланке QBE появляется строка Обновление. Эта новая строка бланка используется для того, чтобы задать, как именно изменять данные.

С помощью запроса-обновления можно за один раз менять значения нескольких полей, включив их в бланк QBE и определив выражения, используемые для обновления новых записей. При этом для вычисления новых значений некоторого поля можно использовать значения других полей.

Когда Access готов приступить к обновлению записи в базовой таблице или запросе, он сначала делает копию исходной записи, затем применяет заданные выражения к исходной записи и помещает результат в копию. После этого он меняет содержимое БД, переписывая модифицированную копию в таблицу. Так как обновления выполняются в копии исходной записи, то нет необходимости специально обеспечивать какую-либо проверку актуальности данных при изменении значений нескольких полей с использованием для вычисления новых значений данных из других полей, подлежащих изменению (например, можно поменять местами данные двух полей).

Инструкция update

Инструкцию UPDATE можно использовать для создания запроса на обновление, который изменяет значения в полях. Синтаксис:

UPDATE имя таблицы

SET имя столбца = новое значение

[WHERE условия отбора]

В указанной таблице или запросе происходит обновление выбранных строк в соответствии со значением или выражением, указанным как новое значение. Если присутствует предложение WHERE, то обновляются только строки, которые удовлетворяют условию отбора