ITPub博客

首页 > 数据库 > Oracle > 10.schema object

10.schema object

原创 Oracle 作者:zuiai510416 时间:2014-02-11 19:56:45 0 删除 编辑
--10.schema object
Select * From t ;


--VIEWS
Create View view_t1 As Select Id From t;
Select * From view_t1;      --简单视图,可以插入数据
Create View view_t (Id,Name,id_add) As Select Id,Name,Id+1 From t;
Select * From view_t;       --复杂视图,不能插入数据        
Alter Table t Add Constraint pk_t Primary Key(Id);  --为表t的id字段增加主键pk_t,对表增加主键后,对视图同样有效
Create View view_t_readonly(Id,Name,id_add) As Select Id,Name,Id+1 From t With Read Only;  --创建只读的视图
Select * From dba_constraints Where table_name ='VIEW_T_READONLY'; --查看readonly的约束 CONSTRAINT_TYPE O=READONLY
Create View view_t_check(Id,Name,id_add) As Select Id,Name,Id+1 From t Where Id<=10 With Check Option;  --创建带判断条件的视图
Insert Into view_t_check(Id,Name) Values(5,'re');--允许
Insert Into view_t_check(Id,Name) Values(15,'re');--不允许,违反with check option
Select * From dba_constraints Where table_name ='VIEW_T_CHECK'; --查看With Check Option的约束 CONSTRAINT_TYPE V=With Check Option
Create View view_t2 As Select distinct Id From t; --带聚合函数的视图
Insert Into view_t2(Id) Values(11);    --不允许,创建的视图,带聚合函数
--alter view当表被重新更改后,视图需要重新编译
Alter View view_t Compile;


--Sequences 序列
Create Sequence seq_test Increment By 1 Start With 1 Nomaxvalue Nominvalue ; --序列默认增长步长为1,默认从1开始,默认没有最大,最小值;cache是默认每次在内存中初始化多少个值
--cache=10时,每次初始化10个数,如果内存刷新,初始化未使用的数将会丢失,所有序列能保证唯一,不能保证连续
--cache-1时,性能将收到影响
Select seq_test.Nextval From dual; --查询序列的下一个值


--synonyms 同义词,对象的别名
Create Synonym syn_t For t; --创建表t的同义词syn_t
Select * From syn_t; --使用起来和表t一样
Create Synonym syn_t1 For System.t@dbl;  --创建同义词syn_t1,封装dbl数据库下,system用户下的表t
--public synonym 公共同义词 不加public就是private synonym私有同义词
Create Public Synonym psyn_t For t; --创建t的共有同义词psyn_t,让所有用户都可以访问
Select * From dba_synonyms Where table_name = 'T';
--grant授权   其他用户访问前需要'授权'
Create User a Identified By a;  --创建用户a
Grant Select On psyn_t To a;    --对用户a授权同义词psyn_t的selec权限
Grant Insert,Update,Delete On t To a; --授予其他权限
Select * From dba_tab_privs Where grantee='A';  --查看用户a具备了哪些权限

来自 “ ITPUB博客 ” ,链接:http://blog.itpub.net/15810196/viewspace-1079755/,如需转载,请注明出处,否则将追究法律责任。

上一篇: 9.子查询
请登录后发表评论 登录
全部评论

注册时间:2011-07-19

  • 博文量
    53
  • 访问量
    131751