tempad
ReadyGo!技术成就梦想 >>数据库 >> 创建Bitmap_Join_Indexes中的约束与索引

创建Bitmap_Join_Indexes中的约束与索引

ReadyGo!技术成就梦想 网络搜索 efish 2008-8-2 17:10:45

【-IT技术报道】现象:创建Bitmap Join Indexes时出现ORA-25954报错: 维的主键或唯一约束条件缺失。

原因:受到约束与索引的影响。

测试过程如下:

create table sales

as select * from sh.sales;

create table customers

as

select * from sh.customers;

create unique index CUST_ID_un on customers(CUST_ID);

创建:

Bitmap Join Indexes

create bitmap index sales_cust_gender_bjix

on sales(customers.cust_gender)

from sales,customers

where sales.cust_id=customers.cust_id;

报错如下:

第 3 行出现错误:

ORA-25954: 维的主键或唯一约束条件缺失

案例分析:在此处尽管定义了对表customers的唯一性索引,但是该索引并没有对表customers并没有唯一性约束,即表示唯一性索引并不表示对表进行唯一性约束;但是如果加了唯一性的约束,就不会出现报错,示例如下:

SQL> ALTER TABLE customers

2 MODIFY (cust_id CONSTRAINT customers_un unique);

表已更改。

SQL> create bitmap index sales_cust_gender_bjix

2 on sales(customers.cust_gender)

3 from sales,customers

4 where sales.cust_id=customers.cust_id;

索引已创建。

结论:

只要加了唯一性的约束,创建BJI则不会报错。

(责任编辑:卢兆林)

责任编辑: efish 参与评论 查找更多:
相关文章
在MySQL数据库中应当如何关闭错误提示音 在MySQL数据库中应当如何关闭错误提示音
怎样才能解决MySQL 5.0.16的乱码问题 怎样才能解决MySQL 5.0.16的乱码问题
放弃连接消息出现在错误日志中的主要原因 放弃连接消息出现在错误日志中的主要原因
某些更改的非事务性表不能被回滚的现象 某些更改的非事务性表不能被回滚的现象
实例讲解MySQL数据库中应当如何建立外键 实例讲解MySQL数据库中应当如何建立外键
详细讲解如何用SQLyog来分析MySQL数据库 详细讲解如何用SQLyog来分析MySQL数据库
讲解jython访问MySQL数据库的具体步骤 讲解jython访问MySQL数据库的具体步骤
MySQL数据库中如何解决分组统计的问题 MySQL数据库中如何解决分组统计的问题
SAVEPOINT和ROLLBACK TO SAVEPOINT语法 SAVEPOINT和ROLLBACK TO SAVEPOINT语法
MySQL的存储过程写法和"Cursor"的使用 MySQL的存储过程写法和"Cursor"的使用
2秒记住本站域名

玩过泡泡龙吗?Readygo?Go! 再加上.Com.Cn的后缀,那就是大名小顶的ReadyGo.com.cn

分类导航
ReadyGo!技术成就梦想