sql server执行存储过程创建动态视图

1。基本的视图创建方法

--查找要创建的视图是否存在--
if exists (select * from sysobjects where name = 'V_QM_RawMaterialMt')
 drop view V_QM_RawMaterialMt
 go
 --创建名称为V_QM_RawMaterialMt的视图--
create view V_QM_RawMaterialMt 
as
 --视图数据来源
   select * from S_Menu
go
--查询视图中的内容--
select * from V_QM_RawMaterialMt

2。根据存储过程动态创建。

ALTER procedure [dbo].[QM_CreateViewRawMaterial]
as
begin
 declare @strSql varchar(max)=''
 set @strSql='
    --创建名称为V_QM_RawMaterialMt的视图--
    create view V_QM_RawMaterialMt 
     as
      '
    set @strSql+=' --**视图数据来源,你可以动态生成你这块的内容**
         select * from S_Menu '
    set @strSql+='
    go'
    --查找要创建的视图是否存在--
    if exists (select * from sysobjects where name = 'V_QM_RawMaterialMt')
      drop view V_QM_RawMaterialMt
      exec(@strSql)
      --查询视图中的内容--
    select * from V_QM_RawMaterialMt
 end 

3。如果你的视图报

**‘CREATE VIEW’ 必须是查询批次中的第一个语句。**这个错误,那么你按照如上方式把自己的程序好好对对,肯定没问题的。运行结果如下图
运行结果

猜你喜欢

转载自blog.csdn.net/hello_mr_anan/article/details/103822427
今日推荐