转载 sql 存储过程与函数区别
|
SQL Server用户自定义函数和存储过程有类似的功能,都可以创建捆绑SQL语句,存储在server中供以后使用。这样能够极大地提高工作效率,通过以下的各种做法可以减少编程所需的时间:
乍看之下,用户自定义函数和存储过程的功能似乎一摸一样。但是,其实这两者之间还有一些虽然细微但是很重要的差异:
用户自定义函数是有返回值的过程,表格返回值是要通过表变量来处理返回的过程。 存储过程: 它们可以接受参数、输出参数、返回单个或多个结果集以及返回值 1、可以在单个存储过程中执行一系列 SQL 语句。 2、可以从自己的存储过程内引用其它存储过程,这可以简化一系列复杂语句。 3、存储过程在创建时即在服务器上进行编译,所以执行起来比单个 SQL 语句快。 用户自定义函数: 与任何函数一样,用户定义函数是可返回值的例程。根据所返回值的类型,每个用户定义函数可分成以下三个类别: 1、返回可更新数据表的函数:如果用户定义函数包含单个 Select 语句且该语句可更新,则该函数返回的表格格式结果也可以更新。 2、返回不可更新数据表的函数:如果用户定义函数包含不止一个 Select 语句,或包含一个不可更新的 Select 语句,则该函数返回的表格格式结果也不可更新。 3、返回标量值的函数:用户定义函数可以返回标量值。 存储过程 1. 功能强大,限制少 2. 不能直接引用返回值 3. 用select语句返回记录集 自定义函数 1. 诸多限制,有许多语句不能使用,许多功能不能实现 2. 可以直接引用返回值 3. 用表变量返回记录集 原文:http://www.cnblogs.com/snowhumen/archive/2012/07/02/2573502.html (编辑:安卓应用网) 【声明】本站内容均来自网络,其相关言论仅代表作者个人观点,不代表本站立场。若无意侵犯到您的权利,请及时与联系站长删除相关内容! |
