当有UDF时,你能告诉我存储过程的需要吗?
答案 0 :(得分:2)
在我的脑海中,存储过程可以执行以下UDF无法执行的操作:
1)修改数据
2)将结果集返回给客户端
3)执行非确定性活动
答案 1 :(得分:1)
一个程序可以运行DML
,一个函数不能运行。
通常,函数被设计为用作查询的一部分,而存储过程是一批SQL
语句一起运行,实现一些业务逻辑,可能具有不同的凭证。
答案 2 :(得分:1)
函数不能以任何方式直接更改或更新数据库,可以通过DML(INSERT,UPDATE,DELETE,ect)语句或DDL(CREATE TABLE等)语句。它也不能做任何可能间接导致数据库修改的事情,例如执行ad-hoc SQL语句(任何类型)或执行存储过程。
答案 3 :(得分:1)
一个关键的区别是UDF总是具有固定模式的输出,存储过程可以以任意格式产生任意数量的结果集。
答案 4 :(得分:0)
Sprocs用于将输出返回给应用程序。 UDF返回表变量。