【问题标题】:Difference between Constraints and Rules in SQLSQL中约束和规则的区别
【发布时间】:2013-06-21 04:45:30
【问题描述】:

在SQL,最好是SQL server 2008 R2中使用constraintsrules有什么区别。任何人都可以通过实时示例进行解释和演示

【问题讨论】:

  • 不要忘记规则已经过时 - 请参阅create rule in Sql Server 2012
  • 你还不清楚吗?
  • @NikolaMarkovinović - 虽然从 2017 年开始有一个“可能删除”警告,但它在 SQL2019 中,所以它仍然可以在新的当前版本的 MySQL 中使用。

标签: sql sql-server constraints business-rules


【解决方案1】:

有很多不同,但是 最显着的区别之一是我们可以将规则绑定到数据类型,而约束仅绑定到列。 此功能使我们能够在规则的帮助下创建自己的数据类型并据此获取输入。

我找到了一个很好的例子,请查看以下链接。 constraints vs rules

【讨论】:

    【解决方案2】:

    来自 Postgres 手册:

    PostgreSQL 规则系统允许定义对数据库表中的插入、更新或删除执行的替代操作。粗略地说,当执行给定表上的给定命令时,规则会导致执行其他命令

    例如,可以使用约束来确保给定的数字永远不会与某个值匹配。对于注册的新用户,这样的出生年份不应低于 1880 年或高于当年。

    【讨论】:

      【解决方案3】:

      我会添加一些差异

      1) 规则是可重复使用的,因此一旦您制定规则,您就可以绑定到一个或多个列。 2)另一方面,约束: - 单列可以有多个约束。 - 消息可以绑定约束 约束通常在“create table statmen”或“alter table add constraint”中创建

      干杯

      【讨论】:

        【解决方案4】:

        简而言之:

        Rules 是一项基于其他数据或系统执行某些验证功能的功能。

        CHECK constraint 用于限制列中的值,仅当它满足基于此特定值的条件时才允许。

        有关可能的有用信息,请参阅本文:

        Difference between Constraints and Rules in SQL

        【讨论】:

          猜你喜欢
          • 2016-01-13
          • 1970-01-01
          • 1970-01-01
          • 2019-07-08
          • 1970-01-01
          • 1970-01-01
          • 2019-04-18
          • 1970-01-01
          • 1970-01-01
          相关资源
          最近更新 更多