我学习函数和存储过程已经有一段时间了,但我不知道为什么以及何时应该使用函数或存储过程。它们在我看来是一样的,也许是因为我是个新手。
有谁能告诉我为什么?
函数是计算值,不能对SQL Server进行永久性的环境改变(即不允许INSERT或UPDATE语句)。
如果一个函数返回一个标量值,它可以在SQL语句中内联使用,如果它返回一个结果集,则可以被连接使用。
评论中值得注意的一点,它总结了答案。感谢@Sean K Anderson:
函数遵循计算机科学的定义,即它们必须返回一个值,并且不能改变它们作为参数收到的数据 (参数)。函数不允许改变任何东西,必须 至少有一个参数,而且必须返回一个值。存储的 程序不必有一个参数,可以改变数据库对象。 并且不需要返回一个值。