不同点: 1、标识符不同。函数的标识符为FUNCTION,过程为:PROCEDURE。 2、函数中有返回值,且必须返回,而过程可以没有返回值。 3、过程无返回值类型,不能将结果直接赋值给变量;函数有返回值类型,调用时,除在select中,必须将返回值赋给变量。 4、函数可以在select语句中直接使用实现对字段进行计算,而存储过程不能, 例如:假设已有函数fun_getAVG() 返回number类型绝对值。 那么select fun_getAVG(col_a) from table 这样是可以的。 5、函数一般处理简单的逻辑方便,存储过程一般处理复杂的逻辑, 相同点: 1、二者都可以有输出 2、二者写法逻辑上很相似