• 全部
  • 基础类
  • 应用实例
  • 新技术前沿

谁来举例说一下什么是列级约束,什么是表级约束

ChinOS 2003-12-05 05:27:21
谁来举例说一下什么是列级约束,什么是表级约束
...全文
139 点赞 收藏 5
写回复
5 条回复
切换为时间正序
当前发帖距今超过3年,不再开放新的回复
发表回复
welyngj 2003-12-06
列约束和表约束
约束可以是列约束或表约束:

列约束被指定为列定义的一部分,并且仅适用于那个列

表约束的声明与列的定义无关,可以适用于表中一个以上的列。
当一个约束中必须包含一个以上的列时,必须使用表约束。

例如,如果一个表的主键内有两个或两个以上的列,则必须使用表约束将这两列加入主键内。假设有一个表记录工厂内的一台计算机上所发生的事件。假定有几类事件可以同时发生,但不能有两个同时发生的事件属于同一类型。这一点可以通过将 type 列和 time 列加入双列主键内来强制执行。

CREATE TABLE factory_process
(event_type int,
event_time datetime,
event_site char(50),
event_desc char(1024),
CONSTRAINT event_key PRIMARY KEY (event_type, event_time) )

回复
welyngj 2003-12-05
CREATE TABLE [Categories] (
[CategoryID] [int] IDENTITY (1, 1) NOT NULL ,
[CategoryName] [nvarchar] (15) COLLATE Chinese_PRC_CI_AS NOT NULL ,
[Description] [ntext] COLLATE Chinese_PRC_CI_AS NULL ,
[Picture] [image] NULL ,
CONSTRAINT [PK_Categories] PRIMARY KEY CLUSTERED
(
[CategoryID]
) ON [PRIMARY] --列级约束
) ON [PRIMARY] TEXTIMAGE_ON [PRIMARY]-
GO




CREATE TABLE [Categories] (
[CategoryID] [int] IDENTITY (1, 1) NOT NULL ,
[CategoryName] [nvarchar] (15) COLLATE Chinese_PRC_CI_AS NOT NULL ,
[Description] [ntext] COLLATE Chinese_PRC_CI_AS NULL ,
[Picture] [image] NULL ,
CONSTRAINT [PK_Categories] PRIMARY KEY CLUSTERED
(
[CategoryID],[CategoryName]
) ON [PRIMARY] --表级约束
) ON [PRIMARY] TEXTIMAGE_ON [PRIMARY]
GO



回复
welyngj 2003-12-05
--列column_constraint > ::= [ CONSTRAINT constraint_name ]
{ [ NULL | NOT NULL ]
| [ { PRIMARY KEY | UNIQUE }
[ CLUSTERED | NONCLUSTERED ]
[ WITH FILLFACTOR = fillfactor ]
[ON {filegroup | DEFAULT} ] ]
]
| [ [ FOREIGN KEY ]
REFERENCES ref_table [ ( ref_column ) ]
[ ON DELETE { CASCADE | NO ACTION } ]
[ ON UPDATE { CASCADE | NO ACTION } ]
[ NOT FOR REPLICATION ]
]
| CHECK [ NOT FOR REPLICATION ]
( logical_expression )
}

--表< table_constraint > ::= [ CONSTRAINT constraint_name ]
{ [ { PRIMARY KEY | UNIQUE }
[ CLUSTERED | NONCLUSTERED ]
{ ( column [ ASC | DESC ] [ ,...n ] ) }
[ WITH FILLFACTOR = fillfactor ]
[ ON { filegroup | DEFAULT } ]
]

回复
pengdali 2003-12-05
表级

PRIMARY KEY 约束


FOREIGN KEY 约束

列级

UNIQUE 约束


CHECK 约束


DEFAULT 定义


为空性
回复
txlicenhe 2003-12-05
谁来举例说一下什么是列级约束,(比如字段规则,默认值等)
什么是表级约束(比如外键约束)
回复
发帖
MS-SQL Server
创建于2007-09-28

3.3w+

社区成员

MS-SQL Server相关内容讨论专区
申请成为版主
帖子事件
创建了帖子
2003-12-05 05:27
社区公告
暂无公告