码迷,mamicode.com
首页 > 其他好文 > 详细

第一讲(管理方案对象)

时间:2017-08-06 14:58:53      阅读:92      评论:0      收藏:0      [点我收藏+]

标签:art   约束   order by   select   nbsp   uniq   run   isp   res   

一、什么是方案:
 
属于一个用户下,所有数据库对象的总称表、视图、序列、索引、同义词  存储过程、存储函数、触发器、包和包体一个用户就是一个方案,创建用户的时候,系统会自动创建一个同名的方案
 
二、常用的数据库对象
 
1、临时表:当事务或者会话结束的时候,表中的数据自动删除
 
创建:
自动创建:order by
手动创建:create global temporary table ******
基于事务的临时表:
create global temporary table test1 (tid number,tname varchar2(20))  on commit delete rows;
基于会话的临时表:
create global temporary table test2 (tid number,tname varchar2(20))  on commit preserve rows;  
 
  • delete rows表示事务相关,也就在事务结束后truncate data in the temporary table.当事务提交后数据就已经清除;
  • preserve rows表示在会话结束后清除临时表的数据,在会话中止时或者导常退出时数据都会被清除掉;
 
2、约束的状态
(1) enable  disable
(2) validate: 对表中已经存在的数据和将来的数据都要验证
(3) novalidate: 对表中已经存在的数据不做验证,只将来的数据
 
create table test3
(
  tid number,
  tname varchar2(20),
  email varchar2(40)
);
 
insert into test3 values(1,‘Tom‘,‘tom@126.com‘);
insert into test3 values(2,‘Mary‘,‘tom@126.com‘);
 
在email上加上unique约束:
alter table test3 add constraint test3_email_unique unique(email);
alter table test3 add constraint test3_email_unique unique(email) deferrable enable novalidate;
 
3、Oracle的分区
 
(1)类型:
*、范围分区
*、列表分区
*、Hash分区
*、范围-列表分区
*、范围-Hash分区
 
(2)例子:
*、范围分区
create table test4
(
     empno number,
     ename varchar2(20),
     sal   number,
      deptno number
)
partition by range(sal)
(
      partition part_range_1 values less than (1000),
      partition part_range_2 values less than (3000),
       partition part_range_3 values less than (MAXVALUE)
);
            
 
查看SQL的执行计划
explain plan for select * from test4 where sal<=2500;
select * from table(dbms_xplan.display);  
    
*、列表分区
create table test5
(
    empno number,
    ename varchar2(20),
    sal   number,
    deptno number
)
     partition by list(deptno)
(
     partition part_list_1 values(10,20),
     partition part_list_2 values(30),
     partition part_list_3 values(40,50)
);
 
*、Hash分区(求余数)
create table test6
(
    empno number,
    ename varchar2(20),
    sal   number,
    deptno number
)
    partition by hash(ename)   
 (
      partition part_hash_1,
      partition part_hash_2
);

第一讲(管理方案对象)

标签:art   约束   order by   select   nbsp   uniq   run   isp   res   

原文地址:http://www.cnblogs.com/qlwang/p/7294558.html

(0)
(0)
   
举报
评论 一句话评论(0
登录后才能评论!
© 2014 mamicode.com 版权所有  联系我们:gaon5@hotmail.com
迷上了代码!