什么时候应该在SQL中使用函数而不是存储过程,反之亦然?它们各自的目的是什么?
以下是总结差异的表格:
函数是计算出的值,不能对SQL Server进行永久的环境更改(即不允许使用INSERT或UPDATE语句)。\n\n如果函数返回标量值,它可以在SQL语句中内联使用,如果它返回结果集,则可以连接使用。\n\n值得注意的一点是:函数遵循计算机科学的定义,必须返回一个值,并且不能更改它们作为参数接收的数据(即参数)。函数不允许更改任何内容,必须至少有一个参数,并且必须返回一个值。存储过程不需要参数,可以更改数据库对象,并且不必返回值。感谢@Sean K Anderson提供的回答总结。
用户名或电子邮箱地址
密码