大家都知道视图是通过查询表获得,普通的视图并不能加入变量,但实际开发中就需要动态变化的一个视图,例如视图的底层表示变量。本经验就给大家介绍SQL Server 如何将存储过程转为视图。
工具/原料
SQL Server 2005 以上版本
方法/步骤
1
为了数据库的安全,SQL默认关闭了特殊分布查询功能,所以首先需要启用特殊分布查询 Ad Hoc Distributed Queries
3
创建存储过程需要注意的是,SQL Server 2012 以上版本要求必须对查询结果指定类型,与创建表的语法类似,但需要注意多加一个括号。
4
【最关键】创建视图时,前半部分并无差异,底层表则换成OPENROWSET()函数。变量位置如下图说明,同时需要注意各变量之间的标点符号使用。
5
查询视图时,与查询普通视图并无差异。这样就将存储过程转为视图,从而实现动态视图。
6
【建议】若不使用这种动态视图,出于安全考虑建议将特殊分布查询关闭。
注意事项
存储过程中,如果加入对底层表进行insert、update、delete,将会被忽略执行