Студопедия.Орг Главная | Случайная страница | Контакты | Мы поможем в написании вашей работы!  
 

Инструкция update (запрос на обновление)



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

Синтаксис:

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

имя--запроса-на-выборку [ [AS] псевдоним ] } | <таблица-объединения>},... [ IN <спецификация-источника~данных> ] SET {имя-столбца = {выражение | NULL }},... [ WHERE условие-отбора]

где таблица-объединения есть

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

имя-запроса-на-выборку [ [ AS ] псевдоним ] \

<таблица-объединения> } { INNER | LEFT | RIGHT} JOIN -^ {имя-таблицы [[ AS ] псевдоним ] \

имя-запроса-на-выборку [ [ AS ] псевдоним ]

<таблица-объединения>} ON <условие-объединения>)

Пояснения: Если в инструкции указано более одного имени таблицы, то изменять содержи­мое столбцов можно только в таблице, находящейся на стороне «многие» отношения «один-ко-многим», либо в любой из таблиц, между которыми установлена связь «один-к-одному». Microsoft Access должен иметь возможность определить связь между запросами, чтобы он мог обновить значения столбцов в запросе. Если некоторая таблица связана с запросом по ее первичному ключу, то можно изменять содержимое столбцов в запросе (так как первичный ключ указывает на то, что в этом случае таблица находится на стороне «один» объединения), но нельзя обновлять таблицу. Если же вы хотите обновить таблицу, используя для этого результаты некоторого запроса, то вставьте их во временную таблицу и определите для нее связь «один-ко-многим» или «один-к-одному» с обновляемой таблицей. После этого для обновления нужной таблицы можно использовать временную.

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

В предложении SET нельзя указывать имя столбца более одного раза. Значения, присваиваемые столбцам, должны быть совместимы с характеристиками соот­ветствующих столбцов. Если вы присваиваете значение Null, то свойство Обязательное поле соответствующего столбца не может быть установлено в значение Да.

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

Пример № 24. В таблице Сведения о сотрудниках проиндексировать поле Ставка в 1,5 раза, а Доплаты увеличить на 20%

Решение.

UPDATE [Сведения о сотрудниках] SET [Сведения о сотрудниках].Ставка = [Сведения о сотрудниках]![Ставка]*1.5, [Сведения о сотрудниках].[%доплат] = [Сведения о сотрудниках]![%доплат]*1.2;





Дата публикования: 2015-01-10; Прочитано: 208 | Нарушение авторского права страницы | Мы поможем в написании вашей работы!



studopedia.org - Студопедия.Орг - 2014-2024 год. Студопедия не является автором материалов, которые размещены. Но предоставляет возможность бесплатного использования (0.007 с)...