自定义函数与存储过程的比较

用户自定义函数与存储过程比较其优点在于:

1、用户自定义函数可以返回出了text,ntext,image,cursor和timestamp类型之外的所有数据类型,而存储过程只能返回整数值。

2、用户自定义函数执行方式灵活,可以通过execute方式执行,也可以用在表达式中,并以返回值的方式来取代函数名,而存储过程只能通过execute来执行。

与存储过程相比,用户自定义函数也有其不足之处:

1、存储过程可以通过output参数来返回数据,而用户定义函数只可以接受参数,不能通过output类型的参数返回值。

2、在存储过程中可以对任何数据及对象进行修改,包括新建或删除数据表、修改数据库设置等等,而在用户定义函数里只能对数据进行修改,不能对数据库对象进行修改。

简单点说,存储过程适合进行不用返回结果的操作,用户定义函数适合进行计算、提取数据等需要返回结果的操作。

原文地址:https://www.cnblogs.com/ewyb/p/2075453.html