关于java:函数和存储过程

32次阅读

共计 1222 个字符,预计需要花费 4 分钟才能阅读完成。

一、函数

函数与存储过程类似,也是数据库中存储的已命名 PL-SQL 程序块。函数的次要特色是它必须有一个返回值。通过 return 来指定函数的返回类型。在函数的任何中央能够通过 return expression 语句从函数返回,返回类型必须和申明的返回类型统一。

二、函数和存储过程的长处:

1、独特应用的代码能够只须要被编写一次,而被须要该代码的任何应用程序调用(.net,c++,java,也能够使 DLL 库)。

2、这种几种编写、几种保护更新、大家共享的办法,简化了应用程序的开发保护,进步了效率和性能。

3、这种模块化的办法使得一个简单的问题、大的程序逐渐简化成几个简略的、小的程序局部,进行别离编写,因而程序的构造更加清晰,简略,也容易实现。

4、能够在各个开发者之间提供解决数据、管制流程、提示信息等方面的一致性。

5、节俭内存空间。它们以一种压缩的模式被存储在外存中,当被调用时才被放入内存进行解决。而且多个用户在调用同一个存储过程或函数时,只须要加载一次即可。

6、进步数据的安全性和完整性。通过把一些对数据的操作方到存储过程或函数中,就能够通过是否授予用户有执行该语句的权限,来限度某些用户对数据库进行这些操作。

三、函数和存储过程的区别:

1、存储过程 用户在数据库中 实现特定操作或者工作 (如插入,删除等), 函数 用于 返回特定的数据

2、存储过程申明用 procedure,函数用 function。

3、存储过程 不须要返回类型 ,函数 必须要返回类型

4、存储过程可作为 独立的 pl-sql 执行 ,函数 不能 作为独 立的 plsql 执行,必须作为表达式的一部分。

5、存储过程 只能通过 out 和 in/out 来返回值 ,函数除了 能够应用 out,in/out 以外,还能够应用 return 返回值。

6、sql 语句(DML 或 SELECT)中不可用调用存储过程,而函数能够。

四、实用场合:

1、如果须要返回 多个值和不返回值,就应用存储过程 ;如果只须要 返回一个值,就应用函数

2、存储过程 个别用于执行一个 指定的动作 函数 个别用于 计算和返回一个值。

3、能够再 SQL 外部调用函数来实现简单的计算问题,但不能调用存储过程。

五、存储过程与存储函数的区别和分割

相同点:1. 创立 语法结构类似,都能够携带多个传入参数和传出参数。

     2.都是一次编译,屡次执行。

不同点:1. 存储过程定义关键字用procedure,函数定义用function

2.存储过程中不能用 return 返回值 ,但函数中能够,而且 函数中必须有 return 子句

3. 执行形式略有不同,存储过程的执行形式有两种(1. 应用 execute2. 应用 begin 和 end),函数除了存储过程的两种形式外,还能够当做表达式应用,例如放在 select 中(select f1() form dual;)。

总结:如果只有一个返回值,用存储函数,否则,个别用存储过程。

正文完
 0