存储过程与函数
存储过程和函数是两种类型的编程块。他们两个都有主叫的名字。这些调用名用于在另一个编程块(如过程、函数、包或SQL查询)中调用它们。这两种对象类型都接受参数并在这些对象后面执行任务。这是(在ORACLE中)创建存储过程的语法,
创建或替换过程程序重命名(参数)
作为
开始
声明;
例外
异常处理
结束;
这里是创建函数的语法(在ORACLE中),
创建或替换函数函数名(参数)
return返回_数据类型
作为
开始
声明;
返回返回值/变量;
例外情况;
异常处理;
结束;
存储过程
如上所述,存储过程被命名为编程块。它们接受参数作为用户输入,并根据过程背后的逻辑进行处理并给出结果(或执行特定操作)。这些参数可以是IN、OUT和INOUT类型。变量声明、变量分配、控制语句、循环、SQL查询和其他函数/过程/包调用可以在过程体中。
功能
函数也被命名为编程块,它必须使用return语句返回值,在返回值之前,它的主体也执行一些操作(根据给定的逻辑)。函数也接受要运行的参数。函数可以在查询内部调用。在SELECT查询中调用函数时,它将应用于SELECT查询结果集的每一行。ORACLE函数有几种类型。他们是,
- 单行函数(为查询的每一行返回一个结果)
有一个单行函数的子类别。
- 数字函数(例如:ABS、SIN、COS)
- 字符函数(例如:CONCAT、INITCAP)
- 日期时间函数(例如:最后一天,下一天)
- 转换函数(例如:TO\u CHAR,TO\u DATE)
- 集合函数(例如:基数、集合)
- 聚合函数(根据一组行返回一行。示例:平均值、总和、最大值)
- 解析函数
- 对象引用函数
- 模型函数
- 用户定义函数
函数和存储过程有什么区别?•所有函数必须使用return语句返回值。存储过程不使用return语句返回值。过程中的RETURN语句将其控件返回给调用程序。OUT参数可用于从存储过程中返回值。•可以在查询内部调用函数,但不能在查询内部使用存储过程。•必须包含返回数据类型才能创建函数,但在存储过程DDL中则不是 |