添加约束是DDL或DML

Posted

技术标签:

【中文标题】添加约束是DDL或DML【英文标题】:Adding constraints is DDL or DML 【发布时间】:2011-04-11 12:41:42 【问题描述】:

在sql server中添加约束属于DML还是DDL的哪一类?

【问题讨论】:

请更全面地陈述您的问题。在正确的位置包含逗号将有助于理解它。 【参考方案1】:

DDL,因为您定义表之间的关系,而不是修改存储在其中的数据。

【讨论】:

【参考方案2】:

DDL,因为它们改变的是结构而不是数据。

例如:Referential integrity statements

【讨论】:

【参考方案3】:

约束必须是DDL语句。让我们证明一下。 创建两个表AB如下:

创建表 A(id int 主键);

创建表 B(id int,外键 id 引用 A(id));

现在,让我们尝试在 A 表中插入一些数据,然后在 B 表中插入一些数据。

插入 A 值 (1);

插入 B 值 (1);

现在,尝试运行 TRUNCATE A; 它会给出 Foreign Key Constraint Fail 错误。这意味着约束应用于表的schema,因此DDL 语句

【讨论】:

以上是关于添加约束是DDL或DML的主要内容,如果未能解决你的问题,请参考以下文章

DML语言DDL

什么是ddl dml和dcl?怎样用才最好?

oracle DDL,DML,DCL, 基础概念详解

DDL

DDL,DML和DCL的区别与理解?

ddl语句和dml语句,创建序列和约束