Изучаем sql


Records: 8 Duplicates: 0 Warnings: 0 mysql>  ALTER TABLE product



Pdf көрінісі
бет225/261
Дата28.07.2022
өлшемі1,6 Mb.
#147825
1   ...   221   222   223   224   225   226   227   228   ...   261
Байланысты:
Изучаем SQL ( PDFDrive )

255
Records: 8 Duplicates: 0 Warnings: 0
mysql> 
ALTER TABLE product
> ADD CONSTRAINT fk_product_type_cd FOREIGN KEY (product_type_cd)
> REFERENCES product_type (product_type_cd)
> ON UPDATE CASCADE;
Query OK, 8 rows affected (0.03 sec)
Records: 8 Duplicates: 0 Warnings: 0
Изменив ограничение таким образом, посмотрим, что произойдет, ес
ли попытаться выполнить выражение 
update
снова:
mysql> 
UPDATE product_type
> SET product_type_cd = 'XYZ'
> WHERE product_type_cd = 'LOAN';
Query OK, 1 row affected (0.01 sec)
Rows matched: 1 Changed: 1 Warnings: 0
На этот раз выражение выполняется успешно. Для проверки того, что
изменения были распространены на таблицу 
product
, еще раз посмот
рим на данные в обеих таблицах:
mysql> 
SELECT product_type_cd, name
> FROM product_type;
+++
| product_type_cd | name |
+++
| ACCOUNT | Customer Accounts |
| INSURANCE | Insurance Offerings |
| XYZ | Individual and Business Loans |
+++
3 rows in set (0.02 sec)
mysql> 
SELECT product_type_cd, product_cd, name
> FROM product
> ORDER BY product_type_cd;
++++
| product_type_cd | product_cd | name |
++++
| ACCOUNT | CD | certificate of deposit |
| ACCOUNT | CHK | checking account |
| ACCOUNT | MM | money market account |
| ACCOUNT | SAV | savings account |
| XYZ | AUT | auto loan |
| XYZ | BUS | business line of credit |
| XYZ | MRT | home mortgage |
| XYZ | SBL | small business loan |
++++
8 rows in set (0.01 sec)
Как видите, изменения таблицы 
product_type
распространились и на таб
лицу 
product
. Кроме каскадных обновлений можно задавать 
каскад
ные удаления 
(
cascading deletes
). При каскадном удалении, если стро


256

Достарыңызбен бөлісу:
1   ...   221   222   223   224   225   226   227   228   ...   261




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

    Басты бет