函数与过程具有相同的结构,除了:
n 函数的头部必须包含一个RETURN子句,指定函数返回的数据类型。
n 在函数的执行部分,每个执行路径必须通向RETURN语句,否则编译器产生警告。(在过程中RETURN语句是可选的,并且不建议。)
n 只有函数头部可以包括如下选项
|
DETERMINISTIC |
帮助优化器避免多余的函数调用 |
|
PARALLEL_ENABLE |
允许函数并行执行,使它可以在并行DML计算中安全使用 |
|
PIPELINED |
使表函数管道化,作为行资源来使用 |
|
RESULT_CACHE选项 |
将函数结果集存储在PL/SQL函数结果缓冲区中(只能出现在声明部分) |
|
RESULT_CACHE子句 |
将函数结果集存储在PL/SQL函数结果缓冲区中(只能出现在定义部分) |
|
DECLARE -- 声明和定义函数 FUNCTION square (original NUMBER) RETURN NUMBER AS original_squared NUMBER; BEGIN original_squared := original * original; RETURN original_squared; END; BEGIN DBMS_OUTPUT.PUT_LINE(square(100));
END;
|
来自 “ ITPUB博客 ” ,链接:https://blog.itpub.net/17013648/viewspace-1131968/ ,如需转载,请注明出处,否则将追究法律责任。