当前位置: 首页 > 面试题库 >

无法验证,带有novalidate选项

锺离高丽
2023-03-14
问题内容

嗨,我正在插入一些日期做我的桌子。由于某些原因,我不得不禁用约束。约束与索引相关联。我使用了以下代码行:

ALTER TABLE my_table DISABLE CONSTRAINT "my_constraint" drop index

并且my_constraint处于禁用状态。不,我想启用此约束,但是在调用此行之后:

ALTER TABLE my_table ENABLE NOVALIDATE CONSTRAINT "my_constraint";\

我收到一个错误:

ORA-02299:无法验证(USER.my_constraint)-找到重复的密钥


问题答案:

您不能具有带有唯一索引的非唯一值。但是,您可以具有带有由非唯一索引强制执行的唯一约束的非唯一值。即使您最初创建了一个非唯一索引,除非您在本节中提供了更多详细信息,否则drop indexandenable语法将尝试重新创建一个唯一索引using index

例如:

SQL> create table my_table(my_column number,
  2     constraint my_constraint unique (my_column));

Table created.

SQL> alter table my_table disable constraint my_constraint drop index;

Table altered.

SQL> insert into my_table select 1 from dual union all select 1 from dual;

2 rows created.

SQL> alter table my_table enable novalidate constraint my_constraint;
alter table my_table enable novalidate constraint my_constraint
*
ERROR at line 1:
ORA-02299: cannot validate (USER.MY_CONSTRAINT) - duplicate keys found


SQL> alter table my_table enable novalidate constraint my_constraint
  2     using index (create index my_index on my_table(my_column));

Table altered.

SQL> --The constraint is enforced, even though other rows violate it.
SQL> insert into my_table values(1);
insert into my_table values(1)
*
ERROR at line 1:
ORA-00001: unique constraint (USER.MY_CONSTRAINT) violated


 类似资料:
  • 我正在利用JAXB实现一个SOAP服务的内存API网关。其中一个模式元素是“choice”,choice块中有几个元素。 我试图在客户机名称空间中镜像生成的JAXB类,因此对于这个“选择”场景,我有一个具有多个属性的bean类,其中只有一个属性是非null的。 我试图使用javax中的@NotNull注释。验证,以及验证工厂和验证程序。然而,一个“选择”的场景让这变得有点复杂。我猜这将需要一个自定

  • 我的ldiff文件如下所示 用户密码在portal db中使用带有十六进制编码的MD5进行散列。还启用了pre-encoded-password为true,但没有帮助。 我的要求是我们有一个门户,其密码存储在MD5中的db中,使用十六进制编码,门户集成到ldap中,每次密码更改ldap都使用散列值更新,但上面的java程序根本不起作用。需要认真的帮助。 多谢了。

  • 在测试我的客户机-服务器分布式系统时,我最初惊讶地得知TLS的默认JSSE实现不进行主机名验证。我在这个问题中尝试了公认的答案,但我的用例有点不同。我使用RabbitMQ的连接工厂,它抽象了SSLSocket的构造。我只是为连接工厂提供了一个SSLContext。我确实找到了很多关于HTTPS的信息,甚至还有一些其他协议,但并不是总能使用的通用协议,即使是自定义协议。 但是,除了使用之外,关于创建

  • 我正在使用带有PRG模式的JSF。(在我的导航规则中使用)。 问题是,当我收到验证错误(例如:用户未设置强制值)时,重定向没有完成(即,一篇文章后面跟着同一页的get)。 情况是: > 用户没有输入强制值并提交表单 发生验证错误,同一视图显示错误消息(无PRG) 用户设置强制值并提交== 用户点击后退按钮= 谁能帮帮我吗? 提前感谢。 斯特凡

  • 我想在Docker上设置一个配置了身份验证的Cassandra容器。目前我使用的是官方的Cassandra Docker图像,但它似乎没有提供启用认证模式的选项(通过ENV thingies)。 一种可能性是设置一个自己的存储库,从Cassandra Docker GitHub克隆并修改此文件,以便它也接受与身份验证相关的选项,但对于我非常简单的任务来说,这似乎有点复杂。有没有人知道一个更简单的解

  • 我正在尝试建立一个到远程服务器的ssh隧道,如下所述:使用Mysql Db从Heroku到远程服务器的ssh 但我只是想下载这些宝石就挂断了。我补充说: 但是,当我执行(甚至只是在命令行上执行)时,我会得到: 根据NetSSH的自述文件(https://github.com/net-ssh/net-ssh),我检查了Ruby的OpenSSL绑定--它们看起来不错: 我不确定这是否相关,但当我尝试下