我想验证表中外键的正确处理。这是我在下面创建的两个表。一个人可能没有列出地址,所以我希望它为空。否则我想从地址表中引用一个主键并将其作为外键存储在 Person 表中。我们也可能有一个没有人的地址对象。
一个人的表:
CREATE TABLE Person
(
PersonID int IDENTITY PRIMARY KEY,
FName varchar(50) NULL,
MI char(1) NULL,
LName varchar(50) NULL,
AddressID int FOREIGN KEY REFERENCES Address(AddressID) NULL,
)
地址表:
CREATE TABLE Address
(
AddressID int IDENTITY PRIMARY KEY,
Street varchar(60) NULL,
City varchar(50) NULL,
State varchar(2) NULL,
Zip varchar(10)NULL,
Intersection1 varchar(60) NULL,
Intersection2 varchar(60) NULL,
)
另外 Q2 我从未使用过触发器,但我假设处理插入的方法是使用存储过程首先插入地址,获取主键,然后将其传递给存储过程以插入到 Person 表中?