易截截图软件、单文件、免安装、纯绿色、仅160KB

oracle 主键 \索引


在oracle中,我们创建一个主键,则同时自动创建了一个同名的唯一索引;删除主键,则主键约束和对应的唯一索引都删除了。这是我们经常见到的现象。
 
发出一个创建主键的sql,oracle其实执行了两步:创建主键约束、创建/关联 唯一索引。步骤是这样的:
创建主键约束时,检查该主键字段上是否已经存在唯一索引。若不存在,则自动创建同名唯一索引;若存在,则直接创建主键约束,并将该约束和已经存在的唯一索引对应上。
删除主键约束时,可以决定是否保留对应的索引;删除唯一索引时,若存在对应的主键约束,则不能删除。
 
总之,存在主键约束,则肯定存在与之对应的唯一索引,而存在唯一索引,不一定对应着有主键约束。
 
下面我们验证一下:
 
SQL> create table test_pri(a number(1), b number(1));
 
表已创建。
 
--1.创建主键,则自动创建同名唯一索引
--1.1创建主键,主键约束和唯一索引同时创建
SQL> alter table test_pri add constraint pk_test_pri_a primary key(a);
 
表已更改。
 
SQL> select CONSTRAINT_NAME, TABLE_NAME, INDEX_NAME
  2  from user_constraints where table_name = 'TEST_PRI';
 
CONSTRAINT_NAME   TABLE_NAME   INDEX_NAME  
----------------- ------------ -------------
PK_TEST_PRI_A     TEST_PRI     PK_TEST_PRI_A
 
SQL> select INDEX_NAME, INDEX_TYPE, TABLE_NAME, UNIQUENESS
  2  from user_indexes where table_name = 'TEST_PRI';
 
INDEX_NAME       INDEX_TYPE   TABLE_NAME   UNIQUENES
---------------- ------------ ------------ ---------
PK_TEST_PRI_A    NORMAL       TEST_PRI     UNIQUE
 
--1.2 删除主键,主键约束和对应的唯一索引都删除了
SQL> alter table test_pri drop constraint pk_test_pri_a;
 
表已更改。
 
SQL> select CONSTRAINT_NAME, TABLE_NAME, INDEX_NAME
  2  from user_constraints where table_name = 'TEST_PRI';
 
未选定行
 
SQL> select INDEX_NAME, INDEX_TYPE, TAB


相关文档:

oracle issue

Yes, sure ! You must be the local admin of this computer, and not a domain user.
Moreover, I'm afraid you cannot install it in a domain, maybe you should (just for testing purposes) try to install a standalone Windows system and try installing Oracle 10g on it.
You know, a RDBMS database server mu ......

Oracle 9i性能调整


Oracle 9i性能调整
/* *
作者:欧朝敬
QQ:35712069
手机:13873195792
请转载者不要更改原版内容
 */
1、设置合适的SGA
  常常有人抱怨服务器硬件很好,但是Oracle就是很慢。很可能是内存分配不合理造成的。
  (1)假设内存有512M,这通常是小型应用。建议Oracle的SGA大约240M,其中:共享池(SHARED_POOL ......

oracle常见语句

----本用户所拥有的系统权限:
select * from user_sys_privs;
---本用户读取其他用户对象的权限:
 select * from user_tab_privs;
-----添加权限
GRANT CREATE USER,DROP  USER,ALTER USER ,CREATE ANY VIEW ,
DROP ANY  VIEW,EXP_FULL_DATABASE,IMP_FULL_DATABASE,
DBA,CONNECT,RESOURCE,CREATE&nbs ......

ORACLE几个过滤条件的执行顺序

select distinct id
  from table t
 where rownum < 10
 order by t.id desc;
上述语句的过滤条件执行顺序 先where --->order by --->distinct
如果有group by的话 group by 在order by前面的 ......

Oracle多行记录合并/连接/聚合字符串的几种方法

什么是合并多行字符串(连接字符串)呢,例如:
SQL> desc test;
Name     Type          Nullable Default Comments
------- ------------ -------- ------- --------
COUNTRY VARCHAR2(20) Y       &nb ......
© 2009 ej38.com All Rights Reserved. 关于E健网联系我们 | 站点地图 | 赣ICP备09004571号