oracle中function和procedure是什么意思

2024-11-17 04:23:35
推荐回答(3个)
回答(1):

oracle中function是函数,而procedure是存储过程。

函数:

函数用于返回特定数据。执行时得找一个变量接收函数的返回值。

语法如下:

    create or replace function function_name
  (
  argu1 [mode1] datatype1,
  argu2 [mode2] datatype2, ........
  )
  return datatype
  is
  begin
  end;

存储过程:

存储过程(Stored Procedure)是在大型数据库系统中,一组为了完成特定功能的SQL 语句集,存储在数据库中,经过第一次编译后再次调用不需要再次编译,用户通过指定存储过程的名字并给出参数(如果该存储过程带有参数)来执行它。存储过程是数据库中的一个重要对象,任何一个设计良好的数据库应用程序都应该用到存储过程。

语法如下:

CREATE OR REPLACE PROCEDURE 存储过程名 
IS 
BEGIN 
NULL; 
END;

回答(2):

procedure 就是纯运行的过程(可以不命名),function则是函数,是有值的,有时可以直接输出
procedure多用于深搜,function多用于递归,
比较(以下都是正确打法):
①procedure;
②procedure dfs(x:longint);//(此处dfs只能调用,不能以ans:=dfs(x)或writeln(dfs(x))的形式出现)
③function a:(x:boolean):longint;//(此处a被赋为longint,可以直接输出或作为longint使用,如ans:=a(x),当然,每次都会重新算一遍,boolean则是变量x'的定义,如果a被赋为boolean,是不可以输出的,但同样能作为boolean使用)

回答(3):

楼主您好
function是自定义的函数
procedure是自定义的存储过程