哪些因素导致SQL中函数与存储过程一起引入,函数相比存储过程具体是如何增强数据库操作的灵活性和效率的?
我没有得到确切的解释。
函数可以接受参数并返回标量值或包含零个或多个行和一个或多个列的单个结果集。
这是可组合的。您可以将其集成到 SQL 语句中,以便添加新的计算列或
apply
用于表值函数。
存储过程在允许的语法方面限制较少,但不可组合。
例如您可以使用内置的功能
OBJECT_DEFINITION
如下
SELECT *,
OBJECT_DEFINITION(object_id)
FROM sys.procedures
但是无法以类似的方式内联调用
sp_helptext
存储过程
SELECT *,
EXEC sp_helptext name /*Not valid syntax*/
FROM sys.procedures