函数与程序之间的差异

函数

在计算机编程语言环境中,功能是一组指令,这些指令需要一些输入并执行某些任务。在SQL中,函数返回一个值。

程序

过程也是一组指令,它们接受输入并执行某些任务。在SQL中,过程不返回值。在Java中,过程和函数是相同的,也称为子例程。

以下是SQL函数和SQL过程之间的重要区别。

序号函数
程序
1定义

函数用于使用给定的输入计算结果。

过程用于按顺序执行某些任务。
2调用

一个函数可以被一个过程调用。

过程不能由函数调用。
3DML

DML语句不能在函数内执行。

DML语句可以在过程中执行。
4SQL,查询

可以在查询中调用函数。

无法在查询中调用过程。
5SQL,调用

每当调用一个函数时,都会先对其进行编译,然后再进行调用。

一个过程只编译一次,可以多次调用而无需编译。
6SQL,返回

函数将值和控件返回给调用函数或代码。

过程将控件返回给调用函数或代码,但不返回任何值。
7try-catch

函数不支持try-catch

一个过程支持try-catch块。
8select

select语句可以具有函数调用。

选择状态不能有过程调用。
9显式事务处理

函数不能具有显式事务处理。

过程可以使用显式事务处理。