ORACLE存储过程与函数的区别
|
存储过程 |
函数 |
|
用于在数据库中完成特定的操作或任务(如插入、删除等) |
用于特定数据(如查询返回值) |
|
程序头部声明用PROCEDURE |
程序头部声明用FUNCTION |
|
程序头部声明时不需要返回类型 |
程序头部声明时要描述返回类型,而且PL/SQL块至少要包括一个有效的RETURN语句 |
|
可以使用IN/OUT/IN OUT3种参数模式 |
可以使用IN/OUT/IN OUT3种参数模式 |
|
可以作为独立的PL/SQL语句执行 |
不能独立执行,必须作为表达式的一部分调用 |
|
可以通过OUT/IN OUT返回零个或多个值 |
对过RETURN语句返回一个值,且该值与声明部分一致,也可以通过OUT类型的参数带出变量 |
|
SQL语句(DML或SELECT)中不可以调用存储过程 |
SQL语句(DML或SELECT)中可以调用函数 |
浙公网安备 33010602011771号