您的位置:首页 > 数据库 > Oracle

Oracle数据库中同义词、试图和序列

2017-12-13 16:13 316 查看
同义词(表的别名)

创建私有同义词

create synonymep
for scott.emp

创建共有同义词

Create public synonym ep
forscott.emp

可以对表进行删除

 

视图(相当于一张临时表)

创建视图:

createview view_emp(视图名)
as select * fromscott.emp(表名);

 

² 相同点:

也是可以删除数据

² 视图与同义词的区别:

 

1.    视图可以是只读视图

修改视图:
createorreplace view view_emp
as
   select *
from scott.emp
with  readonly--只读

 

2.视图可以存放多张表的查询结果

两张表的视图:
   create view view_towtable
   as
   select e.ename,d.dname
from scott.emp e
join scott.dept d
on e.deptno=d.deptno

 

 

序列:

Oracle没有自带的自增id
 

序列+触发器

 

--查询Oracle的默认序列
select * fromdba_sequenceswhererownum<100

 

 

创建序列:

create sequence mysequence(mysequence为自己取的序列名)
minvalue 1     
最小值,自增开始的位置
increment by2 
每次自增的差值
maxvalue 50    
最大值,自增到的最大限度(当需要取消最大值的时,在前面加上No)
nocache         取消缓存
cycle          
循环(当一个值到达最大值时,又从头开始自增。)

                (当不需要循环时,在前面加上No)

 

如何使用序列:(mysequence为自己取的序列名)

insertinto text
values(mysequence.nextval,'zx')

 

查询创建的序列:

selectzz.mysequence.nextval
from dual
内容来自用户分享和网络整理,不保证内容的准确性,如有侵权内容,可联系管理员处理 点击这里给我发消息
标签: