科技行者

行者学院 转型私董会 科技行者专题报道 网红大战科技行者

知识库

知识库 安全导航

至顶网软件频道用TSQL定义SQL Server约束

用TSQL定义SQL Server约束

  • 扫一扫
    分享文章到微信

  • 扫一扫
    关注官方公众号
    至顶头条

这篇文章向我们介绍了如何用TSQL定义约束,并探讨了如何使用TSQL的不同方式来定义这些约束。

作者:builder.com.cn 2007年5月9日

关键字: Tim Chapman 约束 SQL Server T-SQL

  • 评论
  • 分享微博
  • 分享邮件

在本页阅读全文(共8页)

所有优秀的DBA和开发者都应该拥有在数据库中逻辑定义约束的能力,也应该拥有使用TSQL代码定义约束的能力。这篇文章向我们介绍了如何用TSQL定义约束,并探讨了如何使用TSQL的不同方式来定义这些约束。

约束的类型

我主要关注四种类型的约束:主关键字约束、外键约束、唯一性约束和检查约束。下面对每一种类型都进行了简单描述。

主关键字约束

在一个给定的表中,这种约束主要用来确保该表中每一条记录的某一列或者多列集合都只有唯一的值。这样,你就可以通过在表中唯一的定义记录来确保数据的完整性了。

一个表中只能定义一个主关键字,并且主关键字所包含的那些列不能是空值。主关键字可以在创建表的时候定义,也可以在创建表之后再添加定义。

下面的脚本是在创建表的时候在一列上定义了主关键字约束:

IF OBJECT_ID('SalesHistory')>0

      DROP TABLE SalesHistory;

GO

CREATE TABLE [dbo].[SalesHistory](

      [SaleID] [int] IDENTITY(1,1) NOT NULL PRIMARY KEY,

      [Product] [char](150) NULL,

      [SaleDate] [datetime] NULL,

      [SalePrice] [money] NULL

)

GO

下面的脚本也是在表创建的时候定义了主关键字约束。但是这种方法为该约束进行了命名,并且在必要的时候还可以在多列上创建约束:

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,

      CONSTRAINT pk_SaleID PRIMARY KEY (SaleID)

)

GO

    • 评论
    • 分享微博
    • 分享邮件
    邮件订阅

    如果您非常迫切的想了解IT领域最新产品与技术信息,那么订阅至顶网技术邮件将是您的最佳途径之一。

    重磅专题
    往期文章
    最新文章