Oracle数据库中具有多个字段的条件唯一约束

詹姆斯·弗雷塔斯

我有这张桌子:

XPTO_TABLE (id, obj_x, date_x, type_x, status_x)

我想创建一个(obj_x, date_x, type_x)仅在时才适用于字段的唯一约束status_x <> 5

我试图创建一个,但是Oracle说:

line 1: ORA-00907: missing right parenthesis
CREATE UNIQUE INDEX UN_OBJ_DT_TYPE_STATUS
ON XPTO_TABLE(
    (CASE
         WHEN STATUS_X <> 5
         THEN
             (OBJ_X,
              TO_CHAR (DATE_X, 'dd/MM/yyyy'),
              TYPE_X)
         ELSE
             NULL
     END));

什么是正确的语法?

维沙德

@jamesfrj:您似乎正在尝试确保您的表应只包含一个记录status <>5

您可以尝试通过串联各列来创建唯一的功能索引,如下所示

      create table XPTO_TABLE (id number, 
                            obj_x varchar2(20),
                            date_x date,
                            type_x varchar2(20),
                            status_x varchar2(20)                              
                           );

      create unique index xpto_table_idx1 on XPTO_TABLE(case when status_x <>'5'  THEN              obj_x||date_x||type_x||STATUS_x ELSE null END);

希望能帮助到你

维沙德

本文收集自互联网,转载请注明来源。

如有侵权,请联系[email protected] 删除。

编辑于
0

我来说两句

0条评论
登录后参与评论

相关文章

来自分类Dev

具有多个成员字段的XSD唯一约束

来自分类Dev

具有多个成员字段的XSD唯一约束

来自分类Dev

具有多个唯一约束条件的分组

来自分类Dev

在Postgres中具有特殊逻辑的2个字段的唯一约束

来自分类Dev

检测具有唯一约束的字段中是否存在数据

来自分类Dev

对模型的多个字段施加唯一约束

来自分类Dev

MS Access具有超过10个字段的唯一约束

来自分类Dev

从数据库中查询,该数据库可能具有一个字段的多个值

来自分类Dev

从数据库中查询,该数据库可能具有一个字段的多个值

来自分类Dev

数据库优先方法的唯一约束

来自分类Dev

唯一约束失败:sqlite数据库:android

来自分类Dev

数据库优先方法的唯一约束

来自分类Dev

如何从Rails的数据库列中删除唯一约束?

来自分类Dev

如何在Elasticsearch数据库中创建唯一约束?

来自分类Dev

如何在MongoDB / mongoose中交换具有唯一约束的文档上的字段?

来自分类Dev

Postgres中具有Hamming差异的唯一约束

来自分类Dev

是否有任何sql数据库没有为唯一约束创建索引?

来自分类Dev

有没有通用的方法来检查记录是否重复?需要通过数据库中的“唯一约束”进行检查

来自分类Dev

Grails唯一约束不适用于多个字段

来自分类Dev

Laravel mysql 查询具有唯一约束条件的多个插入(使用查询构建器)

来自分类Dev

对两个字段的唯一约束,相反的

来自分类Dev

转储数据库时跳过违反唯一约束

来自分类Dev

转储数据库时跳过违反唯一约束

来自分类Dev

重复的键值违反了对数据库初始化的唯一约束

来自分类Dev

MySQL InnoDB数据库是否可以具有外部列唯一性约束?

来自分类Dev

如何使用ServiceStack.OrmLite创建具有多个列的唯一约束?

来自分类Dev

Postgres-具有多个列和NULL值的唯一约束

来自分类Dev

如何使用ServiceStack.OrmLite创建具有多个列的唯一约束?

来自分类Dev

使用多个字段来搜索oracle数据库

Related 相关文章

  1. 1

    具有多个成员字段的XSD唯一约束

  2. 2

    具有多个成员字段的XSD唯一约束

  3. 3

    具有多个唯一约束条件的分组

  4. 4

    在Postgres中具有特殊逻辑的2个字段的唯一约束

  5. 5

    检测具有唯一约束的字段中是否存在数据

  6. 6

    对模型的多个字段施加唯一约束

  7. 7

    MS Access具有超过10个字段的唯一约束

  8. 8

    从数据库中查询,该数据库可能具有一个字段的多个值

  9. 9

    从数据库中查询,该数据库可能具有一个字段的多个值

  10. 10

    数据库优先方法的唯一约束

  11. 11

    唯一约束失败:sqlite数据库:android

  12. 12

    数据库优先方法的唯一约束

  13. 13

    如何从Rails的数据库列中删除唯一约束?

  14. 14

    如何在Elasticsearch数据库中创建唯一约束?

  15. 15

    如何在MongoDB / mongoose中交换具有唯一约束的文档上的字段?

  16. 16

    Postgres中具有Hamming差异的唯一约束

  17. 17

    是否有任何sql数据库没有为唯一约束创建索引?

  18. 18

    有没有通用的方法来检查记录是否重复?需要通过数据库中的“唯一约束”进行检查

  19. 19

    Grails唯一约束不适用于多个字段

  20. 20

    Laravel mysql 查询具有唯一约束条件的多个插入(使用查询构建器)

  21. 21

    对两个字段的唯一约束,相反的

  22. 22

    转储数据库时跳过违反唯一约束

  23. 23

    转储数据库时跳过违反唯一约束

  24. 24

    重复的键值违反了对数据库初始化的唯一约束

  25. 25

    MySQL InnoDB数据库是否可以具有外部列唯一性约束?

  26. 26

    如何使用ServiceStack.OrmLite创建具有多个列的唯一约束?

  27. 27

    Postgres-具有多个列和NULL值的唯一约束

  28. 28

    如何使用ServiceStack.OrmLite创建具有多个列的唯一约束?

  29. 29

    使用多个字段来搜索oracle数据库

热门标签

归档