视图一例:
create or replace view hsy_test_v_line as select distinct --线路存在的条件 --1.必须存在于CSM_MID.POB_LINE --2.线路对应的变电站必须存在于CSM_V_STATION中,所以必须符合CSM_V_STATION的条件 --3.线路的电压等级必须存在于map_t_voltageclass中 line.lineid, line.disc, line.code, line.substationid, station.relay_station_name as substationname, line.voltageclassid, volcls.voltageclassname, line.powersupplyid, ( select distinct disc from csm_mid.pob_powersupply ps where line.powersupplyid2 = ps.powersupplyid ) powersupplyname2, decode(line.type,0,'普通线路',1,'专线') type,--线路类型 line.customerid, line.pointid from csm_mid.pob_line line left join csm_v_station station on line.substationid = station.relay_station_id left join map_t_voltageclass volcls on line.voltageclassid = volcls.voltageclassid order by line.disc;
视图包含行和列,就像一个真实的表。
视图中的字段就是来自一个或多个数据库中的真实的表中的字段。
我们可以向视图添加 SQL 函数、WHERE 以及 JOIN 语句,我们也可以提交数据,就像这些来自于某个单一的表。
1.创建视图
SQL CREATE VIEW 语法:
CREATE VIEW view_name AS SELECT column_name(s) FROM table_name WHERE condition。
2.更新视图
SQL CREATE OR REPLACE VIEW语法:
CREATE OR REPLACE VIEW view_name AS SELECT column_name(s) FROM table_name WHERE condition。
3.撤销视图
SQL DROP VIEW 语法:
DROP VIEW view_name。
视图对数据性能的影响:
可以通过多表查询创建一张视图,在一定程度上简化了查询语句。
视图在一定程度上对数据进行了过滤,保护了数据,对于过滤掉的数据不能进行查看和更新。
但是视图view也会影响数据库的执行效率,因此不建议在系统中过多的使用视图view。
当使用了view视图的时候,可以测试一下,看一看执行的效率怎么样。