【问题标题】:What uniquely identifies an index in Oracle?Oracle 中索引的唯一标识是什么?
【发布时间】:2019-12-08 21:03:26
【问题描述】:

在 Oracle 文档中,(DBA|ALL)_INDEXES 视图具有

OWNER索引的所有者

INDEX_NAME索引名称

TABLE_OWNER索引对象的所有者

TABLE_NAME索引对象的名称

我的问题是索引的唯一标识是什么?只是OWNERINDEX_NAME,还是OWNERINDEX_NAMETABLE_OWNERTABLE_NAME

【问题讨论】:

    标签: sql oracle create-table information-schema data-dictionary


    【解决方案1】:

    一个索引由它的INDEX_NAME 和它的OWNER 唯一标识(即它所属的模式)。基本上,模式中的每个对象都必须有一个唯一的名称。两个不同的表不能有同名的索引,除非这些索引属于两个不同的模式。

    考虑 this simple example

    create table mytable(id int, val int);
    create index myindex on mytable(id);
    -- ok
    
    create table mytable2(id int);
    create index myindex on mytable2(id);
    -- ORA-00955: name is already used by an existing object
    

    【讨论】:

      猜你喜欢
      • 2010-11-01
      • 1970-01-01
      • 2011-03-27
      • 2011-02-08
      • 2013-04-13
      • 2012-08-03
      • 1970-01-01
      • 2020-09-09
      • 2011-09-06
      相关资源
      最近更新 更多