SQL函数和存储过程的区别
发布网友
发布时间:2022-04-26 07:18
我来回答
共3个回答
热心网友
时间:2022-04-08 08:53
不同点:
1、标识符不同。函数的标识符为FUNCTION,过程为:PROCEDURE。
2、函数中有返回值,且必须返回,而过程可以没有返回值。
3、过程无返回值类型,不能将结果直接赋值给变量;函数有返回值类型,调用时,除在select中,必须将返回值赋给变量。
4、函数可以在select语句中直接使用实现对字段进行计算,而存储过程不能,
例如:假设已有函数fun_getAVG() 返回number类型绝对值。
那么select fun_getAVG(col_a) from table 这样是可以的。
5、函数一般处理简单的逻辑方便,存储过程一般处理复杂的逻辑,
相同点:
1、二者都可以有输出
2、二者写法逻辑上很相似
热心网友
时间:2022-04-08 10:11
函数有返回值。存储过程没有返回值。
热心网友
时间:2022-04-08 11:45
楼上不对吧,Oracle的存储过程可是有返回值的
在SQL-SEVER中,函数与存储过程的区别?
本质上没区别。只是函数有如:只能返回一个变量的限制。而存储过程可以返回多个。而函数是可以嵌入在sql中使用的,可以在select中调用,而存储过程不行。执行的本质都一样。函数限制比较多,比如不能用临时表,只能用表变量.还有一些函数都不可用等等.而存储过程的限制相对就比较少 1. 一般来说,存...
存储过程和函数的区别
一、含义不同 1、存储过程:存储过程是 SQL 语句和可选控制流语句的预编译集合,以一个名称存储并作为一个单元处理。2、函数:是由一个或多个 SQL 语句组成的子程序,可用于封装代码以便重新使用。 函数限制比较多,如不能用临时表,只能用表变量等 二、使用条件不同 1、存储过程:可以在单个存储...
什么是数据库存储过程?
SQL的调用可以分为函数和存储过程。个人理解,其实函数和存储过程是相似的,至少在引用的时候跟函数很是一样。或者干脆把存储过程理解为另一种函数,另一种经过优化的函数。它的优点在于,存储过程在被编译后会被直接保存在数据库中,成为数据库的一部分,以后就可以反复调用,运行速度快,效率高,这些是...
oracle函数和存储过程有什么区别
一、主体不同 1、函数:当需要分析数据清单中的数值是否符合特定条件时,使用数据库工作表函数。2、存储过程:是在大型数据库系统中,一组为了完成特定功能的SQL 语句集,存储在数据库中,一次编译后永久有效。二、特点不同 1、函数:只能返回一个变量,可以嵌入sql中和存储过程中使用。2、存储过程:用...
数据库存储过程、函数、触发器的区别
存储过程和函数的区别:1. 一般来说,存储过程实现的功能要复杂一点,而函数的实现的功能针对性比较强。2. 对于存储过程来说可以返回参数,而函数只能返回值或者表对象。3. 存储过程一般是作为一个独立的部分来执行,而函数可以作为查询语句的一个部分来调用,由于函数可以返回一个表对象,因此它可以...
SQL中的存储过程,函数,视图有什么区别?
存储过程是预先写好并编译好的SQL程序 函数预先写好的代码片断,有系统函数,也有自定义函数 视图是预先建立的查询语句,用起来就像使用表一样了
存储过程和函数的区别
解析SQL存储过程:存储过程(Stored Procedure),是一组为了完成特定功能的SQL 语句,类似一门程序设计语言,也包括了数据类型、流程控制、输入和输出和它自己的函数库。存储过程可以说是一个记录集,它是由一些T-SQL语句组成的代码块,这些T-SQL语句代码像一个方法一样实现一些功能(对单表或多表的增删改...
关于SQL的临时表、自定义函数、储存过程的问题
那么自定义函数和存储过程的区别,就是程序里面函数与过程的区别,函数只是为了实现某个功能,而过程是为了实现某个流程。至于使用的时间 这个跟你的实际需求有关系的,一般系统带的函数就能满足需求。存储过程这个看你项目的访问量,访问量小的话 如果是快速开发不会用到存储过程 直接在程序里面写SQL语句...
数据库存储过程、函数、触发器的区别是什么?
2、存储过程一般是作为一个独立的部分来执行,而函数可以作为查询语句的一个部分来调用;3、触发器是特殊的存储过程,存储过程需要程序调用,而触发器会自动执行。分别含义:1、存储过程的特点 ①存储过程只在创建时进行编译,以后执行存储过程都不需再重新编译,而一般SQL语句每执行一次就编译一次,所以使用...
函数和存储过程的区别?
函数和存储过程对SQL SERVER来说有很大的区别:1.在SQL SERVER2K以前,没有自定义函数UDF,只有系统函数。2.无论系统函数和UDF,在系统启动是就进行编译并加载,所以UDF的效率比SP要高,SP只是在调用时才加载(扩展的存储过程除外)。3.有些函数getdate,exec..都在UDF里不能用!4.函数必须有...