oracle之跨库查询通过DBLINK创建视图

1、首先找到database links

在数据库A中建立DBLINK如下:新建----填写DBLink名称,填写访问数据库B的连接信息----点击应用

2、DBLink的创建

在数据库A中Database_links目录下出现创建的连接,通过以下sql文本进行测试,正常访问到数据则表示DBLink创建成功,样例文本如下:

select * from T_S1@WEI t ;               //表名@DBLink名称

3、创建视图

create[or replace] [FORCE|NOFORCE] view v_nameasselect语句[with read only]只读 其中的or replace是如果有视图已经存在,则替换视图。 Force和noforce是决定是否强制创建视图,force是在基表不存在时也可以创建视图的标志,noforce指如果基表不存在,则不能创建视图。Noforce是默认选项。 在存储过程和函数中is和as没什么区别,但是创建视图是用as,as后面就是接select语句 如果创建视图的时候后面加了with read only,那么就无法对这个视图进行DML操作,也就是增删改操作。

举例如下:
 

CREATE OR REPLACE VIEW V_WMS_W2C_SUPPLIER_INT AS
SELECT "OPSTATUS","RCVTIME","MESSAGE","FLAG","UUID","SUPPLIER_ID","SUPPLIER_NAME",
"SUPPLIER_LOGNAME","TYPE_ID","ADDRESS","CONTACTS","TEL","SUSR01","SUSR02",
"SUSR03","SUSR04","SUSR05"
FROM OPP_WMS_W2C_SUPPLIER_INT@interface;

4、为啥要用到视图,视图跟表的区别

Oracle视图

oracle视图可以理解为数据库中一张虚拟的表,他是通过一张或者多张基表进行关联查询后组成一个虚拟的逻辑表。查询视图,本质上是对表进行关联查询。

视图的本身是不包含任何数据,只是一个查询结果,当基表的数据发生变化时,视图里面的数据也会跟着发生变化。我们经常在实际开发过程中遇到的视图可以大概分为三种:单表视图、多表关联视图、视图中含有子视图。

视图的作用和优势

既然视图在实际开发过程当中被广泛使用到,它到底有哪些作用和优势呢?

1、使数据简单化:可以将复杂的查询创建成视图,提供给他人使用,他人就不需要去理解其中复杂性的业务关系或逻辑关系。这样对视图的使用人员来说,就简化了数据的,屏蔽了数据的复杂性。

2、表结构设计的补充:系统刚刚开始设计时,大部分程序是直接访问表结构的数据的,但是随着业务的变化、系统的更新等,造成了某些表结构的不适用,这时候去修改表结构对系统的影响太大,开发成本较高,这个时候可以创建视图来对表结构的设计进行补充,降低开发成本。程序可以直接通过查询视图得到想要的数据。

3、增加安全性:视图可以把表中指定的字段展示给用户,而不必把表中所有字段一起展示给用户。在实际开发中,视图经常作为数据的提供方式,设置为只读权限提供给第三方人员进行查询使用。

已标记关键词 清除标记
相关推荐
©️2020 CSDN 皮肤主题: 编程工作室 设计师:CSDN官方博客 返回首页