--1.建立视图create view 视图名
as
select a.code,a.explain,b.numb
from A,B
where a.code=b.code,

解决方案 »

  1.   

    2.
    当然是直接用视图好从以后的修改方便性来看,直接用视图的话,是数据库中直接处理并返回结果,以后如果有什么变化只需要改视图就可以处理从效率上来看,视图是经过预编译的,在处理时不需要再次确定其处理方法,而数据库中确定数据处理方法是CPU消耗大的一种处理,这就意味着调用视图可以提高处理效率
      

  2.   

    基表一旦表结构改变,相应所有视图就必须重新编译。
    可以用以下方便处理:
    /*
    更新数据库中的所有视图
    解决由于视图所依赖的基础对象的更改,视图的持久元数据会过期。
    注意:此更新是针对当前数据库,所以之前要先打开要更新的数据库
    */declare @ViewName varchar(250)
    declare #views cursor for select name from sysobjects
    where objectproperty(id,N'IsView')=1 and uid=1 order by name
    open #views
    fetch next from #views into @viewname
    while @@fetch_status=0
    begin
    print '更新: '+@viewname
    exec sp_refreshview @viewname --更新视图
    fetch next from #views into @viewname
    end
    close #views
    deallocate #views
      

  3.   

    TO: zjcxc(邹建)
    如果TABLE B有的字段为空,用where a.code=b.code是错误的.怎么修改
      

  4.   

    --不是错误,是没有数据,如果你要求任意表有数据都要显示出来,改连接方式create view 视图名
    as
    select a.code,a.explain,b.numb
    from A full join B on a.code=b.code