日度归档:2019年6月23日

mssql sqlserver 创建数据库外键的两种方式分享


摘要:
下文通过举例的方式讲述在sqlserver中创建外键的两种方法,如下所示:
实验环境:sql server 2008 R2



方法1:创建表时,创建外键
方法2:创建表后,再通过修改脚本创建外键

----方法1:在创建表 maomao365.comB 时,直接创建外键
create table [maomao365.comA](
   billNo varchar(30),
    info  nvarchar(33)
)
go
create table  [maomao365.comB](
    billNo  varchar(30),
    qty      int,
    constraint fk_billNo FOREIGN KEY(billNo) REFERENCES  [maomao365.comb](billNo)
)
go

go
drop  table [maomao365.comA]
drop table  [maomao365.comB]

go
----方法2:创建表后,再通过sql脚本创建外键
create table [maomao365.comA](
   billNo varchar(30),
    info  nvarchar(33)
)
go
create table  [maomao365.comB](
    billNo  varchar(30),
    qty      int

) 
go
alter table [maomao365.comB] add
     constraint fk_billNo FOREIGN KEY(billNo) REFERENCES  [maomao365.comb](billNo)
 
go
drop  table [maomao365.comA]
drop table  [maomao365.comB]

mssql sqlserver 何为主键表和外键表?


摘要:
下文将详细讲述何为主键表何为外键表的方法分享,如下所示:
实验环境:sql server 2008 R2

例: 有两张表存储销售信息,
单据主记录存储在A表
单据中的明细记录存储在B表中

1.A表和B表使用billNo(单据号)进行关联
2.A表和B表中的记录为 1对多的关系
3.A表中的记录可以任意插入,并且以billNo(单据号)作为唯一标识
4.当我们向B表插入数据时,billNo(单据号)必须存在于A表中

具有以上特性的两张表,我们将
A表称之为”主键表”
B表称之为”外键表”