По отношение на базата данни външен ключ е колона, която е свързана с полето за първичен ключ на друга таблица във връзка между две таблици.
Външният ключ е вид ограничение и така, ако искате да създадете външен ключ в SQL Server, ще трябва да създадете ограничение за външен ключ.
Тази статия демонстрира как да създадете ограничение за външен ключ в SQL Server, използвайки Transact-SQL.
Пример
Най-лесният начин да демонстрирате това е с пример. В този пример използваме T-SQL, за да създадем ограничение за външен ключ, използвайки ALTER TABLE изявление:
USE Music;
ALTER TABLE Albums
ADD CONSTRAINT FK_Albums_Artists FOREIGN KEY (ArtistId)
REFERENCES dbo.Artists (ArtistId)
ON DELETE CASCADE
ON UPDATE CASCADE
;
GO
Това създава връзка между две таблици ( Albums таблицата и Artists) таблица). Правим това, като създаваме ограничение за външен ключ в Albums маса. Посочваме, че Albums.ArtistId колоната е външен ключ към Artists.ArtistId колона.
Това очевидно предполага, че двете таблици съществуват. Ако не го направят, ще получим грешка.
Ние също така използваме GO което всъщност не е част от T-SQL. Разпознава се от различни помощни програми, за да сигнализира края на група T-SQL изрази.
Проверете резултата
Можете да проверите резултата, като изпълните следния скрипт:
USE Music;
SELECT
name,
type_desc,
delete_referential_action_desc,
update_referential_action_desc
FROM sys.foreign_keys;
GO
Това изброява външните ключове в Music база данни. Променете името на базата данни според нуждите.
Ако вашата база данни има твърде много външни ключове, винаги можете да я стесните с WHERE клауза към конкретния външен ключ, който ви интересува. Можете също да използвате заместващия знак (* ), ако трябва да бъдат върнати всички колони.