存储过程与函数的区别

delimiter //  将sql结束语句改为//,因为在书写过程或函数时会用到多条语句的执行,需要先改变结束符;以保证begin...end之间多条语句顺利书写。

1.存储过程实现的功能更复杂,而函数针对性更强

2.存储过程可以返回多个值,函数中只能返回一个值。

3.存储过程一般独立的执行,函数可以作为其他SQL语句的组成部分执行。

时间: 2024-10-10 01:50:54

存储过程与函数的区别的相关文章

面试问题 - SQL 中存储过程与函数的区别

SQL 中的存储过程与函数没有本质上的区别 函数 -> 只能返回一个变量. 函数可以嵌入到sql中使用, 可以在select 中调用, 而存储过程不行.  但函数也有着更多的限制,比如不能使用临时表 存储过程 -> 可以返回多个变量. 存储过程的定义如下: 存储过程可以使得对数据库的管理.以及显示关于数据库及其用户信息的工作容易得多.存储过程是 SQL 语句和可选控制流语句的预编译集合,以一个名称存储并作为一个单元处理.存储过程存储在数据库内,可由应用程序通过一个调用执行,而且允许用户声明变量

SQL中存储过程和函数的区别

本质上没区别.只是函数有如:只能返回一个变量的限制.而存储过程可以返回多个.而函数是可以嵌入在sql中使用的,可以在select中调用,而存储过程不行.执行的本质都一样.      函数限制比较多,比如不能用临时表,只能用表变量.还有一些函数都不可用等等.而存储过程的限制相对就比较少       1.    一般来说,存储过程实现的功能要复杂一点,而函数的实现的功能针对性比较强.       2.    对于存储过程来说可以返回参数,而函数只能返回值或者表对象.       3.    存储过程

【SQL server基础】SQL存储过程和函数的区别

本质上没区别.只是函数有如:只能返回一个变量的限制.而存储过程可以返回多个.而函数是可以嵌入在sql中使用的,可以在select中调用,而存储过程不行.执行的本质都一样.      函数限制比较多,比如不能用临时表,只能用表变量.还有一些函数都不可用等等.而存储过程的限制相对就比较少       1.    一般来说,存储过程实现的功能要复杂一点,而函数的实现的功能针对性比较强.       2.    对于存储过程来说可以返回参数,而函数只能返回值或者表对象.       3.    存储过程

存储过程与函数的区别与联系

一.函数 函数与存储过程相似,也是数据库中存储的已命名PL-SQL程序块.函数的主要特征是它必须有一个返回值.通过return来指定函数的返回类型.在函数的任何地方可以通过return expression语句从函数返回,返回类型必须和声明的返回类型一致. 二.函数和存储过程的优点: 1.共同使用的代码可以只需要被编写一次,而被需要该代码的任何应用程序调用(.net,c++,java,也可以使DLL库). 2.这种几种编写.几种维护更新.大家共享的方法,简化了应用程序的开发维护,提高了效率和性能

MySQL存储过程和函数的区别

1.存储过程没有返回值,而函数必须有返回值: 2.存储过程的参数可以是IN.OUT.INOUT类型,而函数的参数只能是IN类型. 版权声明:本文为博主原创文章,未经博主允许不得转载.

存储过程和函数的区别

不同点:1.标识符不同.函数的标识符为FUNCTION,过程为:PROCEDURE.2.函数中有返回值,且必须返回,而过程没有返回值.3.过程无返回值类型,不能将结果直接赋值给变量:函数有返回值类型,调用时,除在select中,必须将返回值赋给变量.4.函数可以在select语句中直接使用,而过程不能,例如:假设已有函数fun_getAVG() 返回number类型绝对值.那么select fun_getAVG(col_a) from table 这样是可以的. 相同点:二者都可以有出参 原文地

触发器、存储过程和函数三者区别

MySQL存储过程和函数

存储过程和函数的区别 存储过程可以返回多个值,而函数可以返回一个 函数可以嵌入到sql中使用,可以使用select调用:而存储过程不可以 本质差不多 创建存储过程和函数 CREATE PROCEDURE/CREATE FUNCTION 举例子之前,补充SQL中delimiter的用法,delimiter命令用于改变解释器的结束符.例如在定义函数过程中,在函数体内可能出现SQL默认的";"结束符,一旦输入,解释器就开始执行,但是很显然有时候其时并没有定义结束,所以定义函数或者过程之前一般

mysql事务、触发器、视图、存储过程、函数

存储过程: procedure 概念类似于函数,就是把一段代码封装起来, 当要执行这一段代码的时候,可以通过调用该存储过程来实现. 在封装的语句体里面,可以用if/else, case,while等控制结构. 可以进行sql编程. 查看现有的存储过程: Show procedure status 删除存储过程 Drop procedure 存储过程的名字 调用存储过程 Call 存储过程名字(); 第1个存储过程 ,体会"封装sql" 第2个存储过程, 体会"参数"