
(2).第二类:create view v as select id,name,age from table
(3).第三类:create view v[vid,vname,vage] as select id,name,age from table
如果涉及到数据量过大,业务逻辑需要跨表查询等等也可建立一个跨表的视图,有三种情况:
一、基于同一数据库
这种情况较为简单,只需简单的一行sql命令,如下:
create view v as (select * from table1) union all (select * from table2)
二、基于不同数据库
这种情况只比上面的sql语句多一个数据库的名字,如下:
create view 数据库1.v as (select * from 数据库1.table1) union all (select * from 数据库2.table2)
或
create view 数据库2.v as (select * from 数据库1.table1) union all (select * from 数据库2.table2)
如果执行第一个sql将在数据库1下建立视图,反之亦然;
建立视图的语句本身就可以写成create or replace,也就是建立或者重建。所以个人想到的办法就是:删除--再命名重建,或者也可以先建立新的视图-再删除旧的,新旧视图并不冲突。至于重命名,我能想到的只有rename命令,不过这个能 *** 作视图吗,我表示怀疑,你可以试试(按照 *** 作表的方式试试),不过估计不行。
欢迎分享,转载请注明来源:内存溢出
微信扫一扫
支付宝扫一扫
评论列表(0条)