什么是PostgreSQL中的排除约束?Microsoft SQL Server中的相应术语(和示例SQL脚本)是什么?

什么是PostgreSQL中的排除约束?Microsoft SQL Server中的相应术语(和示例SQL脚本)是什么?,sql,sql-server,postgresql,exclusion-constraint,Sql,Sql Server,Postgresql,Exclusion Constraint,我读了一本书 排除约束 创建表格电影 ( 标题文本, 复制整数 ); ALTER TABLE movies ADD EXCLUDE(标题为=,副本为=); 排除约束的含义是什么?Microsoft SQL Server中的相应术语(和示例SQL脚本)是什么 排除约束的含义是什么 这是一种特殊类型的约束,定义为表列上的一系列比较。它保证不可能有两个不同的行的比较都为真 在本书中介绍的(过于简化)示例中,约束阻止两个不同的行具有相同的标题,并且具有相同的副本 排斥约束非常强大;它们有一个灵活的语

我读了一本书

排除约束

创建表格电影
(
标题文本,
复制整数
);
ALTER TABLE movies ADD EXCLUDE(标题为=,副本为=);
排除约束的含义是什么?Microsoft SQL Server中的相应术语(和示例SQL脚本)是什么

排除约束的含义是什么

这是一种特殊类型的约束,定义为表列上的一系列比较。它保证不可能有两个不同的行的比较都为真

在本书中介绍的(过于简化)示例中,约束阻止两个不同的行具有相同的
标题
,并且具有相同的
副本

排斥约束非常强大;它们有一个灵活的语法,可以容纳比你的书中演示的更复杂的情况。一个典型的示例是确保,给定一个具有两个时间戳列的表,跨行的时间戳范围中没有重叠

Microsoft SQL Server中的相应术语(和示例SQL脚本)是什么


我认为SQL Server中不存在这样的功能。它有检查约束,但没有提供与Postgres排除约束相同的功能范围。

您能展示几行SQL以便于理解吗?有效数据示例,无效数据示例。我还是不明白。@DoNhuVy:举个例子,你不能有两行具有相同的
标题
副本
。允许具有相同
标题
和不同
副本
的行,以及具有相同
副本
和不同
标题
的行。例如,您不能使用复合唯一约束来实现它吗?