sql自定义函数:SQL中存储过程和自定义函数的区别



刚开始学SQL很快就发现存储过程和数据库自定义的间貌似有很多相同点所以把其差别简单做下记录以备以后查阅:

存储过程:

存储过程可以使得对数据库管理、以及显示有关数据库及其用户信息工作容易得多存储过程是 SQL 语句和可选控制流语句预编译集合个名称存储并作为个单元处理存储过程存储在数据库内可由应用通过执行而且允许用户声明变量、有条件执行以及其它强大编程功能
存储过程可包含流、逻辑以及对数据库查询它们可以接受参数、输出参数、返回单个或多个结果集以及返回值
可以出于任何使用 SQL 语句来使用存储过程它具有以下优点:
1、可以在单个存储过程中执行系列 SQL 语句
2、可以从自己存储过程内引用其它存储过程这可以简化系列复杂语句
3、存储过程在创建时即在服务器上进行编译所以执行起来比单个 SQL 语句快


用户定义:
Microsoft SQL Server 2000 允许创建用户定义和任何用户定义是可返回值例程根据所返回值类型每个用户定义可分成以下 3个类别:
1、返回可更新数据表
如果用户定义包含单个 Select 语句且该语句可更新则该返回表格格式结果也可以更新
2、返回不可更新数据表
如果用户定义包含不止个 Select 语句或包含个不可更新 Select 语句则该返回表格格式结果也不可更新
3、返回标量值
用户定义可以返回标量值


存储过程
功能强大限制少
不能直接引用返回值
用select语句返回记录集

自定义
诸多限制有许多语句不能使用许多功能不能实现
可以直接引用返回值
用表变量返回记录集
Tags:  存储过程函数区别 sql调用自定义函数 sql自定义函数语法 sql自定义函数

延伸阅读

最新评论

发表评论