扫一扫
分享文章到微信
扫一扫
关注官方公众号
至顶头条
作者:builder.com.cn 2007年5月9日
关键字: SQL Server
在本页阅读全文(共8页)
下面的脚本是在表创建后再对该表创建主关键字约束:
IF OBJECT_ID('SalesHistory')>0
DROP TABLE SalesHistory;
GO
CREATE TABLE [dbo].[SalesHistory](
[SaleID] [int] IDENTITY(1,1) NOT NULL,
[Product] [char](150) NULL,
[SaleDate] [datetime] NULL,
[SalePrice] [money] NULL
)
GO
ALTER TABLE SalesHistory
ADD CONSTRAINT pk_SaleID PRIMARY KEY (SaleID)
GO
外键约束
这个约束主要是用来在一个表中限制它的某些列的值与另一个表的某些列的值的关联关系。在两个表之间的连接需要使用一个“查找表”,这个表中包括接受值的列表;这个列表必须包括唯一约束或者主关键字约束。在两个表之间建立约束之后,在外键表中对约束域中的所有数据进行修改都会引起效验,以确保数据更新或者插入的时候被约束在查找表中。
Listing A中的脚本创建了一个ProductTypes表和一个SalesHistory表,其中,ProductTypes表将作为查找表,SalesHistory表将引用ProductTypes表中的ProductID列的值。如果现在没有在表中对约束进行定义,那么这时候,我们就应该返回并对它添加约束。你能根据Listing B中的脚本来操作。
先前的脚本包括WITH NOCHECK语句。我使用这条语句,是为了在添加约束的时候不去考虑表中现有的值是否符合约束条件。这样的话,表中已有的任何记录如果违反了新增加的约束的话,都将被忽略,使用WITH NOCHECK可以方便创建约束。这时候约束只能应用在新输入到SalesHistory表中的记录上。
如果您非常迫切的想了解IT领域最新产品与技术信息,那么订阅至顶网技术邮件将是您的最佳途径之一。
现场直击|2021世界人工智能大会
直击5G创新地带,就在2021MWC上海
5G已至 转型当时——服务提供商如何把握转型的绝佳时机
寻找自己的Flag
华为开发者大会2020(Cloud)- 科技行者