存储过程 procedure | 函数 Function | |
---|---|---|
概述 | 为了完成特定功能的SQL语句集 | 由一个或多个 SQL 语句组成的子程序 |
声明 | 程序头部声明用procedure,不需要返回类型 | 程序头部声明用function,需要描述返回类型,且函数中必须包含一个有效的return语句 |
功能 | 实现的功能要复杂一点 | 实现的功能针对性比较强 |
调用方式 | 可以作为一个独立的PL/SQL语句来执行:通过 CALL 语句调用过程 | 不能独立执行,必须作为表达式的一部分调用:在SQL语句中调用函数 |
参数 | 可以使用in/out/in out三种模式的参数 | 只能有IN |
返回值 | 可以通过out/in out返回零个或者多个值 | 通过return语句返回一个值,且该值要与申明部分一致 |