当现有行违法约束时添加约束
如果您使用 MODIFY 子句添加处于启用方式的约束,但因为现有行违反约束而接收到错误消息, 则采取以下步骤来成功添加约束:
1. 添加处于禁用方式的约束。 再次发出 ALTER TABLE 语句,但这次在 MODIFY 子句中指定 DISABLED 关键字。
2. 使用 START VIOLATIONS TABLE 语句启动违例和诊断表。
3. 发出 SET CONSTRAINTS 语句将约束的数据库对象方式切换到启用方式。 当您发出该语句,将在违例表中复制目标表中违反约束的现有行;但是,您会接收到完整性 违例错误消息,且约束保持为禁用。
4. 在违例表上发出 SELECT 语句来检索复制自目标表的不一致行。
您可能需要连接违例表和诊断表来获得所有必要的信息。
5. 在目标表中违反约束的行上采取正确的操作。
6. 在您修正目标表中所有不一致行之后,再次发出 SET 语句以启用被禁用的约束。
此时约束被禁用,并且没有返回任何完整性违例错误消息,因为此时目标表中的所有行均满
足新约束
「喜欢这篇文章,您的关注和赞赏是给作者最好的鼓励」
关注作者
【版权声明】本文为墨天轮用户原创内容,转载时必须标注文章的来源(墨天轮),文章链接,文章作者等基本信息,否则作者和墨天轮有权追究责任。如果您发现墨天轮中有涉嫌抄袭或者侵权的内容,欢迎发送邮件至:contact@modb.pro进行举报,并提供相关证据,一经查实,墨天轮将立刻删除相关内容。




