Azure SQL高级开发:视图、函数、存储过程、触发器及参数使用
1. 视图的优势与操作
视图在Azure SQL中具有重要作用,主要体现在以下几个方面:
- 查询优化 :Azure SQL可以将WHERE子句推送到视图中并应用过滤条件,避免对所有订单计算运行总计,再去除不在查询范围内的行,从而提高查询性能,减少资源使用。具体来说,视图会被展开并与使用它的查询合并,以实现整体查询的优化。
- 安全性 :可以授予用户对视图的访问权限,同时拒绝其访问视图所使用的表,确保用户只能看到查询结果,而无法访问底层表中的值。
- 抽象访问 :通过创建间接层,视图有助于抽象对表的访问,使应用程序和数据库保持松散耦合。这样在对数据库进行重构和设计更改时,不会影响现有应用程序的正常运行。
可以使用 DROP VIEW
命令删除视图,示例如下:
DROP VIEW [Sales].[OrderLinesRuninngTotal];
2. 函数的类型与特点
Azure SQL中的函数分为返回表的函数和返回标量值的函数,用户创建的函数通常称为用户定义函数(UDFs)。
- 表值函数(TVF) :可以在任何可以使用表的地方使用。
- 内联表值函数 :由单个SELECT语句组成,支持参数,可与使用它的查询进行展开和合并(内联)