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

2.10.2 Запросы на модификацию данных с использованием sql.

Инструкция UPDATE позволяет изменять данные в заданных таблицах или запросах. При необходимости можно задавать условия для выбора строк, над которыми будет производиться модификация.

Синтаксис команды UPDATE:

UPDATE { { имя_таблицы [[AS] псевдоним ] |

имя_запроса_выборки [[AS] псевдоним ] } |

<таблица_объединение> },...

SET { имя_столбца = { выражение | NULL } },...

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

Модификация вставляемых данных возможна только в режиме

SELECT DISTINCTROW.

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

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

Для перерасчета оценок по 40 бальной системе в созданной таблице "Результат" с учетом параметрически заданного коэффициента создадим запрос "Перерасчет результатов":

UPDATE DISTINCTROW [Результат]

SET [Результат].Практика =

[Результат]![Практика]*[Коэффициент новой системы];

Название таблицы заключено в квадратные скобки, так как содержит в себе пробелы.

2.10.3 Запросы на удаление данных на sql.

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

Синтаксис команды DELETE:

DELETE [список_выбора]

FROM [{ имя_таблицы [[AS] псевдоним ] |

имя_запроса_выборки [[AS] псевдоним ] } |

<таблица_объединения> },...

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

где <список_выбора> есть:

[ * | имя_таблицы.* | список_столбцов ]

Создадим запрос, удаляющий из таблицы "Результат" записи для студентов, которые имеют по практике отрицательные оценки.

DELETE DISTINCTROW [Результат].Практика

FROM [Результат]

WHERE (([Результат].Практика=[Введите оценку]));

Сохраним ее под именем "Положительные результаты”, и запустим на выполнение.

2.10.4 Запрос на добавление данных в таблицу.

Инструкция INSERT вставляет одну или несколько строк в указанную таблицу или запрос.

Синтаксис команды:

INSERT INTO имя_таблицы [({имя_столбца},...)]

{VALUES ({литерал},...) | инструкция_выбора}

Если не заданы имена столбцов, то ACCESS вставляет значения во все столбцы в том порядке, в каком они определены в описании таблицы. Если же имена столбцов заданы, то данные заносятся в поля в той − же последовательности, как и определены. Характеристики столбцов и вводимых данных должны совпадать.

Когда используется предложение VALUES, то вставляется единственная

строка. INSERT можно комбинировать с SELECT, и строки, возвращаемые SELECT будут вставлены в объект-приемник для SELECT.

В список столбцов необходимо занести все те из них, для которых условие

"Обязательное поле" установлено в "Да".

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

Создадим запрос, дополняющий таблицу "Результаты" новыми записями. Новые данные будут формироваться по той-же выборке − "Результат по практике", но по другому предмету.

INSERT INTO [Результат]

SELECT DISTINCTROW [Результат по практике].*

FROM [Результат по практике];

Сохраним его под именем "Дополнение результатов по практике".