oracle基础之dblink、同义词、视图

DBlink及同义词(synonym )

--1、如果需要创建全局 DBLink,则需要先确定用户有创建 dblink 的权限:

select * from user_sys_privs where privilege like upper('%DATABASE LINK%');   
--如果用户无创建dblink权限
grant create public database link to dbusername;  


--2.创建dblink
create /* public */ database link dblink1  
    connect to tpssprod identified by tpssprod  
        using '(DESCRIPTION =(ADDRESS_LIST =(ADDRESS =(PROTOCOL = TCP)(HOST = 135.149.16.11)(PORT = 1650)))(CONNECT_DATA =(SERVICE_NAME = jstest)))'; 
--3.删除dblink
drop /* public */ database link dblink1; 


--4.查询远端数据库表
select * from tpssprod.gj_tpss_attr@dblink1;

--5.创建同义词(相当是给表创建一个别名)
/*命令*/ create [public] synonym table_name for table_name@DB_Link;
/*实例*/
create synonym prod_attr for tpssprod.gj_tpss_attr@dblink1;--为tpssprod.gj_tpss_attr@dblink1创建同义词prod_attr
--利用创建的同义词对以上表进行访问
       select * from prod_attr;
--删除同义词
       drop public synonym table_name;
--查看已有的同义词
       select * from dba_synonyms

视图(VIEW)

创建视图(用法同同义词的使用)
--1>.创建一个测试表表
create table test_view_tab(id number(9),name varchar2(20));
insert into test_view_tab values(1,'logy');


--2>.创建视图
--给当前用户授权
grant dba to testuser;


create or replace view test_view as select * from test_view_tab;
--查询视图

select * from test_view;


以下有一段描述视图使用方法,来自网上,感谢网络上哪些默默无闻的同僚们.

视图实际上是一个或多个表上的预定义查询,这些表称为基表。  
视图并不存储数据,只是在查询视图时才访问基表。  
视图的优点:  
    ·限制用户只能通过视图检索数据,对用户屏蔽基表  
    ·可以将复杂的查询编写为视图,减少用户查询的复杂度  
    ·限制某个视图只能访问基表中的部分数据,提高了安全性  
//  
创建视图  
create [or replace] [{force|noforce}] view view_name  
[(alias_name[,alias_name...])]  
as subquery  
[with {check option|read only} constraint constraint_name]  


or replace:如果视图存在就替换它。  
force:即使基表不存在也要建立该视图。  
noforce:若基表不存在就不建立此视图,默认值。  
view_name:视图名称。  
alias_name:为自查询中的表达式指定一个别名,别名个数与子查询中列数相同。  
subquery:指定一个子查询,它对基表进行查询,如果已经提供别名,可以在select子句之后的列表中使用别名  
with check option:表名只有子查询检索的行才能被插入、删除、更新,  
                  默认情况下,在插入、删除、更新行之前并不会检查这些行是否被子查询检索。  
constraint_name:指定with check option或read only约束的名称。  
with read only:说明只能对基表中的行进行只读访问。  


视图有两种基表类型  :
·简单视图,包含一个子查询,它只能从一个基表中检索数据  
·复杂视图,包含一个子查询,有以下特点:  
·从多个基表中检索数据  
·使用group by或distinct子句对行进行分组  
·包含函数调用  

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值