Изучаем sql



Pdf көрінісі
бет237/261
Дата28.07.2022
өлшемі1,6 Mb.
#147825
1   ...   233   234   235   236   237   238   239   240   ...   261
Байланысты:
Изучаем SQL ( PDFDrive )

UPDATE account
> SET avail_balance = avail_balance + 100
> WHERE product_cd IN ('CHK', 'SAV', 'MM')
> ORDER BY open_date ASC
> LIMIT 10;
Query OK, 10 rows affected (0.06 sec)
Rows matched: 10 Changed: 10 Warnings: 0
Это выражение сортирует счета в возрастающем порядке по дате от
крытия и затем изменяет первые десять записей, которыми в данном
случае являются десять самых старых счетов.


MySQLCрасширения языка SQL
269
Многотабличные обновления и удаления
В определенных ситуациях для выполнения поставленной задачи мо
жет понадобиться изменить или удалить данные из нескольких раз
ных таблиц. Например, если обнаруживается, что в БД банка есть фик
тивный клиент, выявленный в процессе аудита системы, вероятно, по
надобится удалить данные из таблиц 
account

customer
и 
individual
.
Для этого раздела я создам набор клонов таблиц 
account

cus
tomer
и 
individual
, назвав их 
account2

customer2
и 
individual2
. Это
позволит как защитить используемые в примере данные от из
менений, так и избежать проблем с ограничениями внешнего
ключа между таблицами (более подробно об этом в данном разде
ле позже). Вот выражения 
create
table
для формирования трех
таблицклонов:
CREATE TABLE individual2 AS
SELECT * FROM individual;
CREATE TABLE customer2 AS
SELECT * FROM customer;
CREATE TABLE account2 AS
SELECT * FROM account;
Если бы ID фиктивного клиента был равен 1, можно было бы сгенери
ровать три разных выражения 
delete
для каждой из трех таблиц:
DELETE FROM account2
WHERE cust_id = 1;
DELETE FROM customer2
WHERE cust_id = 1;
DELETE FROM individual2
WHERE cust_id = 1;
Но в MySQL можно не писать отдельные выражения 
delete
, а создать
одно 
многотабличное 
выражение 
delete
, которое в данном случае вы
глядит так:
mysql> 


Достарыңызбен бөлісу:
1   ...   233   234   235   236   237   238   239   240   ...   261




©engime.org 2024
әкімшілігінің қараңыз

    Басты бет