Глава 4
Удаление
(Delete) под именем этого поля появится значение
Условие
(Where).
Запишите в строку
Условие отбора
(Criteria) для этого поля значение
П003
.
6.
Следует иметь в виду, что удаленные записи нельзя восстановить. Поэтому пе-
ред удалением записей выполните предварительный просмотр удаляемых запи-
сей, нажав кнопку
Режим
(View) на вкладке ленты.
Рис. 4.49.
Запрос на удаление записи в главной таблице
7.
Для удаления записей на вкладке ленты нажмите кнопку
Выполнить
(Run). При
выполнении запроса будет сообщено об удалении одной записи. Откройте таб-
лицу ПОКУПАТЕЛЬ и подчиненные ей таблицы на всех уровнях и убедитесь,
что в них также удалены записи, связанные с этим покупателем.
Результаты работы запроса на удаление зависят от отношений между таблицами
и установленных в схеме базы данных параметров обеспечения целостности для
их связей.
Если параметры обеспечения целостности для связей таблицы не установлены
вообще, то записи удаляются только в указанной в бланке запроса таблице и вне
зависимости от ее логических связей.
Если в запросе объединяются две или более таблицы, находящиеся в отношении
1 : М, то удалить можно только записи одной из таблиц на стороне "многие".
Если между таблицами, находящимися в отношении 1 : М, установлена связь
с поддержанием целостности, но не задан параметр
Каскадное удаление свя-
занных записей
(Cascade Delete Related Records), сначала необходимо удалить
записи подчиненной таблицы и только после этого можно выполнить удаление
записей в главной таблице. То есть удаление записи главной таблицы возможно
только, если в подчиненной таблице нет связанных записей. Если параметр
Каскадное удаление связанных записей
(Cascade Delete Related Records) задан,
Запросы
209
то для удаления записей главной таблицы и связанных с ними подчиненных
записей достаточно указать в запросе удаление записей главной таблицы.
8.
Откройте запрос на удаление, представленный на рис. 4.49, в режиме конструк-
тора и перейдите в режим
SQL. Эквивалентная этому запросу инструкция
DELETE
будет записана следующим образом:
DELETE ПОКУПАТЕЛЬ.*, ПОКУПАТЕЛЬ.КОД_ПОК
FROM ПОКУПАТЕЛЬ
WHERE (((ПОКУПАТЕЛЬ.КОД_ПОК)="П003"));
Инструкция
DELETE
удаляет из таблицы записи, удовлетворяющие условию от-
бора, заданному в предложении
WHERE
. Если в предложении
FROM
объединяются
две или более таблицы, то удалить можно только записи одной из таблиц. Для
того чтобы указать, из какой именно таблицы должны быть удалены записи,
в список полей включается конструкция
имя_таблицы.*
(например,
ПОСТАВКА_
ПЛАН.*
). Для однотабличного запроса эта конструкция может быть опущена.
Контрольные вопросы к
разд. "Запросы на изменение"
1.
Можно ли запросы на изменение создать с помощью мастера?
2.
С создания запроса какого типа начинается конструирование запроса на
изменение?
3.
Как просмотреть в запросе на обновление записи, которые будут изменены
в таблице?
4.
Определен ли в структуре таблицы, созданной запросом, ключ?
5.
Какой командой осуществляется преобразование запроса на выборку в запрос
на обновление?
6.
В какой строке запроса на обновление указывается новое значение
обновляемого поля?
7.
Можно ли для подсчета нового значения обновляемого поля использовать
выражение?
8.
Какая инструкция языка SQL соответствует запросу на создание таблицы?
9.
Можно ли в новую таблицу, создаваемую запросом, включать поля нескольких
таблиц?
10.
Какая инструкция языка SQL соответствует запросу на обновление?
11.
Можно ли просмотреть содержимое обновляемых полей до и после обновле-
ния, не выходя из режима конструктора запросов?
12.
В какой строке запроса на добавление указывается, откуда должны выбираться
значения полей добавляемых записей?
13.
Где указывается имя таблицы, в которую добавляются записи?
14.
В какой строке запроса на добавление указывается, в какие поля должны попа-
дать поля добавляемой записи?
210
Do'stlaringiz bilan baham: |