Добавил:
Upload Опубликованный материал нарушает ваши авторские права? Сообщите нам.
Вуз: Предмет: Файл:
Скачиваний:
466
Добавлен:
02.04.2015
Размер:
3.64 Mб
Скачать

Insert into Det ( dim, cena )

SELECT "шайба" AS Выражение1, 40 AS Выражение2;

Здесь псевдонимы Выражение1 и Выражение2 Access добавил сам.

На языке SQL этот оператор можно было написать в виде

Insert into Det ( dim, cena )

Values ("шайба", 40);

Но, если теперь перейти в окно конструктора, то мы увидим запрос, как на рисунке 36, и, перейдя снова в окно SQL, увидим запрос с псевдонимами Выражение1 и Выражение2.

Рисунок 40 – Добавление одной записи как запрос с параметрами

Запрос 10. Запрос на добавление нескольких записей в таблицу Новая, которая была создана в запросе 7. Добавляемые записи получим выборкой из той же таблицы, что и в запросе 5. Итак, в таблицу Новая добавим поставщиков из Москвы.

Последовательность действий при этом будет такой:

  • активизировать на ленте вкладку Создание;

  • в разделе Другие выбрать Конструктор запросов;

откроется окно для добавления таблицы;

  • добавим в верхнюю часть бланка таблицу Post;

  • построим запрос на выборку поставщиков из Москвы;

  • преобразуем запрос в запрос на добавление, как было описано выше;

  • в строке Добавление укажем поля, в которые будут добавлены новые данные, полученные из таблицы Post;

Сконструированный таким образом запрос показан на рисунке 41.

Рисунок 41 – добавление нескольких записей в таблицу Новая

Результат добавления показан на рисунке 42

Рисунок 42 – Добавление нескольких (двух) записей в таблицу Новая

Как видно из рисунка 42, был осуществлен ввод данных не во все поля таблицы Новая.

Соответствующий SQL-запрос:

Insert into Новая ( pim, gor )

SELECT Post.PIM, Post.GOR

FROM Post

WHERE (((Post.GOR)="Москва"));

      1. Запросы на удаление записей

Запрос 11. Запрос на удаление записей. Удалить записи из таблицы PD, в которых количество поставляемых деталей меньше или равно 40. Для реализации этого QBE-запроса нужно выполнить следующую последовательность действий:

  • активизировать на ленте вкладку Создание;

  • в разделе Другие выбрать Конструктор запросов;

откроется окно для добавления таблицы;

  • добавим в верхнюю часть бланка таблицу PD;

  • построим запрос на выборку записей, в которых значение поля KOL<=40, причем можно в ответе оставить только поле KOL, как показано на рисунке 40;

  • выполним запрос на выборку и убедимся, что такие записи в таблице есть;

  • преобразуем запрос в запрос на удаление кнопкой ; появится строкаУдаление, в которой автоматически добавится слово Условие;

  • Выполним запрос и убедимся в том, что удаление состоялось.

Рисунок 43 – Первый вариант запроса на удаление

Соответствующий SQL-запрос:

DELETE PD.KOL

FROM PD

WHERE (((PD.KOL)<=40));

Если в строкуПолебыли вынесены все поля (с помощью символа *), то для этого столбца в строкеУдалениебудет указано словоИз, а в столбце, для которого было написано условие отбора, в строкеУдалениебудет указано словоУсловие,как показано на рисунке 44.

Рисунок 44 – Второй вариант запроса на удаление

Соответствующий SQL-запрос:

DELETE PD.*, PD.KOL

FROM PD

WHERE (((PD.KOL)<=40));

SQL-запрос на удаление может быть написан так:

DELETE

FROM PD

WHERE (((PD.KOL)<=40));

Если теперь перейти в режим конструктора, то мы увидим соответствующий QBE-запрос в виде первого варианта (рис.40).

Запрос на удаление также можно реализовать как запрос с параметром.

!!!!! Если в запросе на удаление будет отсутствовать условие отбора удаляемых записей, то будут удалены ВСЕ записи таблицы.

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

Соседние файлы в папке Материалы для лабораторных Базы данных