表分区维护:
添加分区:
Alter table student add partition 分区名 values less than(100);
删除分区:
Alter table student drop partition 分区名;
截短分区:
Alter table student truncate partition 分区名;
合并分区:
Alter table student merge partitions 分区名,...,分区名 into partition 新分区名;
涉及表分区的数据字典
User_tab_partitions
User_ind_partitions
oracle数据库对象
同义词:(相当于别名)
数据库对象的替换名称
私有 用户自己创建
公用 DBA创建给所有用户使用
创建同义词
create synonym
删除同义词
drop synonym
包含有关同义词的信息
user synonyms
序列:
序列是能够自动产生连续为抑制的数据库共享对象
与sql server不同的是,oracle中的序列被持久的保存在数据库当中,而不是绑定在某一列上的约束
create sequence sequence
[increment by n]
[start with n]
[{maxvalue n | nomaxvalue}]
[{minvalue n | nominvalue}]
[{cycle | nocycle}] --到最大值时候是否循环
[{cache n | nocache}]; --缓存默认为20
两个重要属性:
nextval 返回下一个可用的值
currval 获取当前的序列中的值
对于一个新定义的序列必须先用nextval产生值初始化序列,才可以用currval返回当前值。
Alter Sequence 修改序列定义
Drop Sequence 删除序列
序列的数据字典
USER_SEQUENCES
使用序列
插入时:insert into 表名 values(序列名.nextval);
查询序列当前值:select 序列名.currval from dual(名义表);
序列是公用的对象,在其他表中插入序列值时会继续序列中的值而并重新开始,序列并不属于某一张表。
视图:
虚拟表,一种查询。
语法:create or replace [force] view 视图名 as
select ...
--如果视图不存在则创建新视图,否则替换原有视图
order by 子句可以用来排序
force 选项用于创建带有错误的视图
查询引用不存在的表,查询引用无效列,创建视图时没有相应权限
oracle表中有两个隐藏列 rowid rownumber,分别表示行标识符和输出结果集中的行编号
如果要实现sql server中的top关键字功能,可以通过子查询,如:
select xx,xxx from
(select * from 表名 order by xx desc)
where rownum <=5
这样子就查出了倒序排列前5条记录