【发布时间】:2011-04-11 12:41:42
【问题描述】:
在sql server中添加约束属于DML还是DDL的哪一类?
【问题讨论】:
-
请更全面地陈述您的问题。在正确的位置包含逗号将有助于理解它。
标签: sql-server constraints ddl dml
在sql server中添加约束属于DML还是DDL的哪一类?
【问题讨论】:
标签: sql-server constraints ddl dml
DDL,因为您定义表之间的关系,而不是修改存储在其中的数据。
【讨论】:
DDL,因为它们改变的是结构而不是数据。
【讨论】:
约束必须是DDL语句。让我们证明一下。 创建两个表A和B如下:
创建表 A(id int 主键);
创建表 B(id int,外键 id 引用 A(id));
现在,让我们尝试在 A 表中插入一些数据,然后在 B 表中插入一些数据。
插入 A 值 (1);
插入 B 值 (1);
现在,尝试运行 TRUNCATE A; 它会给出 Foreign Key Constraint Fail 错误。这意味着约束应用于表的schema,因此DDL 语句。
【讨论】: