Базы данных. Концепция баз данных, реляционная модель данных, языки SQL и XML. Токмаков Г.П. - 111 стр.

UptoLike

Составители: 

111
При этом значениями, которые присваиваются столбцам, являются значе-
ния, возвращаемые оператором
SELECT. Порядок их назначения столбцам анало-
гичен предыдущей форме оператора
INSERT: значение первого по порядку
столбца результирующего набора присваивается первому столбцу оператора
INSERT, второй второму и т. д. Следует обратить внимание на важную особен-
ность: поскольку оператор
SELECT в общем случае возвращает множество запи-
сей, то и оператор
INSERT в данной форме приведет к добавлению аналогичного
числа новых записей.
Пример.
Скопировать старые заказы в таблицу OLDORDERS:
INSERTINTOOLDORDERS(ID_ORDER,ORDER_DATE,PRICE)
SELECTID_ORDER,ORDER_DATE,PRICE
FROMZAKAZY
WHEREORDER_DATE<’01JAN2002’
4.6.2. ОПЕРАТОР UPDATE
Операция обновления данных UPDATE требуется тогда, когда происходят
изменения во внешнем мире и их надо адекватно отразить в базе данных.
Инструкция обновления
UPDATE имеет формат
UPDATEимя_табл
SETимя_столбца=новое_значение
[WHEREусловие_отбора]
В инструкции указывается целевая таблица, которая должна быть модифи-
цирована, при этом пользователь должен иметь разрешение на обновление таб-
лицы и каждого конкретного столбца. Предложение
WHERE отбирает строки таб-
лицы, подлежащие обновлению. В предложении
SET указывается, какие столб-
цы должны быть обновлены, и для них задаются новые значения.
Пример.
Перевести всех служащих из Инзенского офиса (идентификатор
22) в Тверской офис (идентификатор 12) и понизить их личные планы (поле QU
OTA
) на 10 процентов.
UPDATESLUZHASCHIE
SETID_OFC=12,QUOTA=0.9*QUOTA
WHEREID_OFC=22
Предложение WHERE в инструкции UPDATE является необязательным. Если
оно опущено, то обновляются все строки целевой таблицы
Пример.
Увеличить планы для всех сотрудников на пять процентов.
UPDATESLUZHASCHIE
SETQUOTA=1.05*QUOTA
В инструкции UPDATE можно использовать подчиненные запросы, посколь-
ку они дают возможность отбирать строки для обновления, опираясь на инфор-
мацию из других таблиц.
Пример.
Увеличить на $5000 лимит кредита для тех клиентов, которые
сделали заказ на сумму более
$5000.
UPDATESLUZHASCHIE