Oracle中 存储过程,过程和函数有什么区别和联系
发布网友
发布时间:2022-04-21 23:23
我来回答
共2个回答
热心网友
时间:2022-04-07 22:49
过程:函数和存储过程的统称。
函数:有且仅有一个返回值,可以用于SQL语句中。 如:x := get_X(),select get_X() from al,返回值为函数调用的结果。
存储过程:无返回值。要返回结果,必须声明为out参数。
如:sp_x(x,y,z),x和y为in类型参数,z为out/in out类型参数。
在oracle中,封装工具还有自定义类型、包等。包可以封装过程和函数,包头类似JAVA中的接口,包体类似JAVA中实现接口的类。
热心网友
时间:2022-04-08 00:07
联系:1.创建语法结构相似,都可以携带多个传入参数和传出参数。
2.都是一次编译,多次执行。
区别:1.存储过程定义关键字用procere,函数定义用function。
2.存储过程中不能用return返回值,但函数中可以,而且函数中必须有return子句。
3.执行方式略有不同,存储过程的执行方式有两种(1.使用execute2.使用begin和end),函数除了存储过程的两种方式外,还可以当作表达式使用,例如放在select中(select f1() form al;)。
总结:如果只有一个返回值,用存储函数,否则,一般用存储过程。
Oracle中 存储过程,过程和函数有什么区别和联系
过程:函数和存储过程的统称。函数:有且仅有一个返回值,可以用于SQL语句中。 如:x := get_X(),select get_X() from dual,返回值为函数调用的结果。存储过程:无返回值。要返回结果,必须声明为out参数。如:sp_x(x,y,z),x和y为in类型参数,z为out/in out类型参数。在oracle中,封装...
oracle存储过程和函数的区别
1.一般来说,存储过程实现的功能要复杂一点,而函数的实现的功能针对性比较强。 2.对于存储过程来说可以返回参数,而函数只能返回值或者表对象。 3.存储过程一般是作为一个独立的部分来执行,而函数可以作为查询语句的一个部分来调用,由于函数可以返回一个表对象,因此它可以在查询语句中位于FROM关...
oracle函数和存储过程有什么区别
一、主体不同 1、函数:当需要分析数据清单中的数值是否符合特定条件时,使用数据库工作表函数。2、存储过程:是在大型数据库系统中,一组为了完成特定功能的SQL 语句集,存储在数据库中,一次编译后永久有效。二、特点不同 1、函数:只能返回一个变量,可以嵌入sql中和存储过程中使用。2、存储过程:用...
oracle中函数和存储过程的区别和联系
函数有1个返回值,而存储过程可以有多个或者没有。函数可以在其他语句中直接调用,而存储过程必须单独调用。函数通常用于计算或较为单一的数据功能,存储过程相对完成更复杂的复合性的数据功能。最关键普通语句每次执行都要编译,而存储过程只在创建时编译之后直接调用,速度更快,在大数据复杂功能时尤其明显。...
Oracle中存储过程和函数的区别
1. 返回值的区别,函数有1个返回值,而存储过程是通过参数返回的,可以有多个或者没有 2.调用的区别,函数可以在查询语句中直接调用,而存储过程必须单独调用.函数一般情况下是用来计算并返回一个计算结果而存储过程一般是用来完成特定的数据操作(比如修改、插入数据库表或执行某些DDL语句等等)
SQL函数和存储过程的区别
不同点:1、标识符不同。函数的标识符为FUNCTION,过程为:PROCEDURE。2、函数中有返回值,且必须返回,而过程可以没有返回值。3、过程无返回值类型,不能将结果直接赋值给变量;函数有返回值类型,调用时,除在select中,必须将返回值赋给变量。4、函数可以在select语句中直接使用实现对字段进行计算,...
Oracle 存储过程和函数的区别
其实,Oracle函数和存储过程差别很小,对比其他数据库,比如SqlServer:sqlserver中,函数是不能存在非select的dml语句的,换句话说,函数中,sqlserver是不能出现update、delete、insert等语句的 而Oracle中,是十分自由和宽容的,update、delete、insert等语句都可以出现 但因为Oracle的自由度,会引起其它一些...
oracle中函数和存储过程的区别和联系
在oracle中,函数和存储过程是经常使用到的,他们的语法中有很多相似的地方,但也有自己的特点。刚学完函数和存储过程,下面来和大家分享一下自己总结的关于函数和存储过程的区别。一、存储过程 1.定义 存储过程是存储在数据库中提供所有用户程序调用的子程序,定义存储过程的关键字为procedure。2.创建存储...
Oracle中存储过程和函数的区别
存储过程是由流控制和SQL 语句书写的过程,这个过程经编译和优化后存储在数据库服务器中,应用程序使用时只要调用即可。在ORACLE 中,若干个有联系的过程可以组合在一起构成程序包。优 点:1. 存储过程只在创造时进行编译,以后每次执行存储过程都不需再重新编译,而一般SQL语句每执行一次就编译一次,所以...
Oracle 存储过程和函数的区别
明显的区别:关键字: procedure 和funcation 调用方法:function可以直接再SQL语句中有返回值,类似于select min(column) from tabletest procedure只能再语句块中使用,不能直接在SQL中使用 返回值:函数的返回值可以用return ,存储过程的返回值可以通过输出参数来获取 ...