标签归档:视图异常

mssql sqlserver 数据库视图建立–“create view必须是批处理中仅有的语句”的方法分享


摘要:
下文讲述新建视图时,出现”create view必须是批处理中仅有的语句”的异常处理方法
实验环境:sql server 2008 r2


今天使用脚本创建数据库视图,出现下面的错误信息:

create view必须是批处理中仅有的语句
通过查阅资料才获悉,此种错误现象是由于创建视图的语句不属于创建脚本的第一句所导致的异常,我们需将创建视图的语句放入脚本的第一句,或者创建视图的脚本前面加上go,使其作为批处理脚本的第一句,具体方法如下所示:

----原脚本----

use [maomaoDB]

create view vw_maomao 
 as
select a.* from maomaoA as a 
  left join maomaoB as b on a.keyId = b.keyId  
   where b.keyId is null  
---运行以上脚本会出现相应的错误信息,我们只需在use [maomaoDB]后面加上一个go,将创建视图的脚本作为一个批处理的开头就可以解决此类异常现象,如下所示:
----修改后正确的脚本-----
use [maomaoDB]
go
create view vw_maomao 
 as
select a.* from maomaoA as a 
  left join maomaoB as b on a.keyId = b.keyId  
   where b.keyId is null  
go

mssql sqlserver 表增加列后,视图不会自动更新相关列的两种解决方法分享


摘要:
今天对物理数据表,进行增加列操作后,程序一直显示无法找到相应列,通过仔细比对发现,视图中无相应列更新,下文将具体的解决方法分享如下:


例:

   create view vw_test as 
      select * from tableName 
	go
   ---当我们在表tableName中新增列之,再次查询vw_test
   ---依然未发现相应列的存在。

  ----解决方法1:删除原视图,重新创建视图
     drop view vw_test
	 go
     create view vw_test as 
      select * from tableName 
	 go

  ---解决方法2:使用系统存储过程刷新视图
     sp_refreshview  'vw_test'