Изучаем sql



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

Каскадные ограничения
Если при наличии ограничений внешнего ключа пользователь пытает
ся вставить новую строку или изменить существующую и при этом по
лучается, что столбец внешнего ключа не имеет соответствующего зна
чения в родительской таблице, сервер формирует ошибку. Для иллю
страции рассмотрим данные таблиц 
product
и 
product_type
:
mysql> 
SELECT product_type_cd, name
> FROM product_type;
+++
| product_type_cd | name |
+++
| ACCOUNT | Customer Accounts |
| INSURANCE | Insurance Offerings |
| LOAN | Individual and Business Loans |
+++
3 rows in set (0.00 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 |
Тип ограничения
MySQL
SQL Server
Oracle Database
Ограничение 
первичного ключа
Формирует уни
кальный индекс
Формирует уни
кальный индекс
Использует имею
щийся индекс или 
создает новый
Ограничение
внешнего ключа
Формирует индекс Не формирует 
индекс
Не формирует 
индекс
Ограничение 
уникальности
Формирует уни
кальный индекс
Формирует уни
кальный индекс
Использует имею
щийся индекс или 
создает новый


254
Глава 13. Индексы и ограничения
| ACCOUNT | MM | money market account |
| ACCOUNT | SAV | savings account |
| LOAN | AUT | auto loan |
| LOAN | BUS | business line of credit |
| LOAN | MRT | home mortgage |
| LOAN | SBL | small business loan |
++++
8 rows in set (0.01 sec)
В таблице 
product_type
имеется три разных значения для столбца 
prod
uct_type_cd
(
ACCOUNT

INSURANCE
и 
LOAN
). Два из этих трех значений (
AC
COUNT
и 
LOAN
) упоминаются в столбце 
product_type_cd
таблицы 
product
.
Следующее выражение делает попытку изменить значение столбца
product_type_cd
таблицы 
product
на значение, которого нет в таблице
product_type
:
mysql> 


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




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

    Басты бет