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

1.3.3. Запит на створення таблиці з інших таблиць

Часто вимагається створити таблицю зі значеннями, вибраними з однієї або декількох таблиць. Такі дії можна виконати за допомогою запиту на створення таблиці (інструкція select...into). Інструкція в простій формі має вигляд

Інструкція створює нову таблицю з ім'ям <новаяТаблиця>. Якщо таблиця з таким ім'ям вже існує, Access запрошує підтвердження на її видалення. У нову таблицю копіюються поля з іменами <поле_1>, <поле_2>,. Стовпці нової таблиці отримують характеристики типів цих стовпців, вказаних в списку полів. Інші аргументи: <внешняяБазаДанных> - шлях до зовнішньої бази даних; <джерело> - джерело, з якого відбираються записи. Це може бути одна таблиця, декілька таблиць або запит.

У загальному вигляді запит на створення таблиці має ті ж аргументи, що і запит на вибірку. Наприклад, створимо нову таблицю ВІДМІННИКИ, що містить прізвища і шифри груп студентів, що отримали відмінні оцінки з математики:

При створенні таблиці поля в новій таблиці наслідують типи даних і розміри базових полів, ніякі інші властивості таблиць і полів не передаються. Первинний ключ в новій таблиці слід створювати в режимі Конструктора.

1.3.4. Запит на додавання

Один запис можна додати в таблицю за допомогою запиту на додавання (інструкція insert into):

Інструкція вводить в поле з ім'ям <поле_1> значення <значення_1> і т. д. Якщо опущений список полів, то значення привласнюються полям в порядку їх опису. Пропущеним в списку полям привласнюється значення null. Існує модифікація інструкції, що дозволяє вводити дані з іншої таблиці за допомогою вкладеного запиту <інструкція_вибору>. Конструкція <об'єднання таблиць> будується за допомогою оператора join (см. п. 5.4).

Наприклад, в таблицю ВІДМІННИКИ можна додати записи за допомогою інструкції

1.3.5. Запит на видалення

Інструкція delete видаляє один або декілька рядків з однієї або декількох таблиць, перерахованих в виразі from, які задовольняють виразу where

Якщо вираз where відсутній, то з таблиці будуть видалені усі рядки, але структура таблиці зберігається. Інструкцію delete можна використовувати для каскадного видалення записів з таблиць, пов'язаних відношенням "один-до-багатьох". Якщо при зв'язуванні таблиць встановлена властивість каскадного видалення, то операція видалення призводить до видалення записів з таблиці, що знаходяться на стороні відношення "багато", коли в запиті віддаляється відповідний ним запис на стороні "один". Якщо не встановлена властивість каскадного видалення, то можна видаляти рядки з боку "багато" відношення "один-до-багатьох" або з однієї з таблиць, пов'язаних відношенням "один-до-одного". Якщо у вираз from включено більш за одну таблицю, то в інструкції delete необхідно вказати таблицю <таблиця>.*, з якої віддаляються рядки. В умовах відбору можна використовувати вкладені запити, але в ньому не повинно бути посилань на таблицю, з якої віддаляються рядки. Якщо у виразі from вказано ім'я запиту, то він не повинен містити предикат distinct, вирази group by і having і оператор union.

Не можна відновити записи, видалені за допомогою запиту на видалення. Тому рекомендується спочатку проглянути результати запиту на вибірку, що використовує ті ж самі умова відбору, а потім виконати запит на видалення.

Запит на видалення видаляє записи цілком. Щоб видалити дані в конкретному полі, слід використовувати запит на оновлення (інструкція update), який замінює певні поля значенням Null.

Соседние файлы в предмете [НЕСОРТИРОВАННОЕ]