存储过程(PROCEDURE)和函数(FUNCTION)的区别。

function有返回值,并且可以直接在Query中引用function和或者使用function的返回值。

本质上没有区别,都是 PL/SQL 程序,都可以有返回值。

最根本的区别是: 存储过程是命令, 而函数是表达式的一部分。

比如:select max(NAME)FROM但是不能 exec max(NAME) 如果此时max是函数。

时间: 2024-08-15 16:03:22

存储过程(PROCEDURE)和函数(FUNCTION)的区别。的相关文章

数据库系列之mysql 自定义函数function,函数和存储过程的区别

mysql 自定义函数function,函数和存储过程的区别 https://blog.csdn.net/u010365819/article/details/80470448 1.MySQL自定义函数简介 在MySQL中使用自定义函数也需要相应的要求,语法如下, 创建新函数: Create function function_name(参数列表) returns返回值类型 函数体内容 相关说明, 函数名:应该合法的标识符,并且不应该与已有的关键字冲突.一个函数应该属于某数据库,可以使用db_n

存储过程和自定义函数的区别

1: 1)存储过程,功能强大,可以执行包括修改表等一系列数据库操作,也可以创建为 SQL Server 启动时自动运行的存储过程. 自定义函数,用户定义函数不能用于执行一组修改全局数据库状态的操作. 2)存储过程,可以使用非确定函数. 自定义函数,不允许在用户定义函数主体中内置非确定函数. 3)存储过程,主要是返回一个int状态结果,也可返回记录集. 自定义函数,可以返回表变量. 关于这个,很容易糊涂.存储过程,可以使用这样的形式来返回N多的结果: create procedure sp1  a

存储过程 <3> 和函数的区别

二.函数和存储过程的优点: 1.共同使用的代码可以只需要被编写一次,而被需要该代码的任何应用程序调用(.net,c++,java,也可以使DLL库). 2.这种几种编写.几种维护更新.大家共享的方法,简化了应用程序的开发维护,提高了效率和性能. 3.这种模块化的方法使得一个复杂的问题.大的程序逐步简化成几个简单的.小的程序部分,进行分别编写,因此程序的结构更加清晰,简单,也容易实现. 4.可以在各个开发者之间提供处理数据.控制流程.提示信息等方面的一致性. 5.节省内存空间.它们以一种压缩的形式

oracle创建函数和调用存储过程和调用函数的例子(区别)

创建函数: 格式:create or replace function func(参数 参数类型) Return number Is Begin --------业务逻辑--------- End; --创建函数 create or replace function func (dno number) return number is t_max number; begin select max(sal) into t_max from emp t where deptno = dno; ret

MySQL存储过程/存储过程与自定义函数的区别

语法: 创建存储过程: CREATE [definer = {user|current_user}] PROCEDURE sp_name ([ proc_parameter [,proc_parameter ...]]) [ characteristics..] routime_body 其中: proc_parameter : [IN|OUT|INOUT] parameter_name type 其中IN表示输入参数,OUT表示输出参数,INOUT表示既可以输入也可以输出:param_name

(转)MySQL存储过程/存储过程与自定义函数的区别

转自:http://www.cnblogs.com/caoruiy/p/4486249.html 语法: 创建存储过程: CREATE [definer = {user|current_user}] PROCEDURE sp_name ([ proc_parameter [,proc_parameter ...]]) [ characteristics..] routime_body 其中: proc_parameter : [IN|OUT|INOUT] parameter_name type

转:存储过程和自定义函数的区别

首先来看一下存储过程和自定义函数的概念 一. 什么是存储过程? 存储过程可以使得对数据库的管理.以及显示关于数据库及其用户信息的工作容易得多.存储过程是SQL 语句和可选控制流语句的预编译集合,以一个名称存储并作为一个单元处理. 存储过程存储在数据库内,可由应用程序通过一个调用执行,而且允许用户声明变量.有条件执行以及其它强大的编程功能. 存储过程可包含程序流.逻辑以及对数据库的查询.它们可以接受参数.输出参数. 返回单个或多个结果集以及返回值. 可以出于任何使用SQL 语句的目的来使用存储过程

JavaScript 函数声明与函数表达式的区别 函数声明提升(function declaration hoisting)

解析器在向执行环境中加载数据时,对函数声明和函数表达式并非一视同仁.解析器会率先读取函数声明,并使其在执行任何代码之前可用(可以访问).至于函数表达式,则必须等到解析器执行到它所在的代码行,才会真的被解释执行.例子: alert (sum(10,10)); function sum (num1, num2) { return num1 + num2; } 以上代码完全可以正常运行.因为在代码开始执行之前,解析器就已经通过一一个名为函数声明提升(function declaration hoist

js中 var functionName = function() {} 和 function functionName() {} 两种函数声明的区别

js中有两种声明函数的方法,分别为: var functionOne = function() { // Some code }; function functionTwo() { // Some code } 为什么会有两种不同的方法?每个方法的优点和缺点分别是什么?有什么情况是一种方法能完成而另外一种方法不能完成的吗? 答: by @Greg 不同点在于functionOne只会在到达赋值的那一行才会被真正定义,而functionTwo会在 包含它的函数或script脚本 执行的时候马上被定