过程也可以返回参数值的,你可以把要返回的参数定义成 out 或 in out再试试(注意两者是有区别的)
看看这种思路怎样?SQL> CREATE OR REPLACE FUNCTION TEST.FUNC_1 RETURN DATE AS 2 BEGIN 3 RETURN SYSDATE; 4 END; 5 /函数已创建。SQL> SELECT TEST.FUNC_1 FROM DUAL;FUNC_1 ----------------- 20060218 20:37:00SQL> CREATE OR REPLACE FUNCTION TEST.FUNC_2 RETURN DATE 2 AS 3 DT DATE; 4 BEGIN 5 SELECT TEST.FUNC_1 INTO DT FROM DUAL; 6 RETURN DT; 7 END; 8 /函数已创建。SQL> SELECT TEST.FUNC_2 FROM DUAL;FUNC_2 ----------------- 20060218 20:37:52
看看这种思路怎样?SQL> CREATE OR REPLACE FUNCTION TEST.FUNC_1 RETURN DATE AS
2 BEGIN
3 RETURN SYSDATE;
4 END;
5 /函数已创建。SQL> SELECT TEST.FUNC_1 FROM DUAL;FUNC_1
-----------------
20060218 20:37:00SQL> CREATE OR REPLACE FUNCTION TEST.FUNC_2 RETURN DATE
2 AS
3 DT DATE;
4 BEGIN
5 SELECT TEST.FUNC_1 INTO DT FROM DUAL;
6 RETURN DT;
7 END;
8 /函数已创建。SQL> SELECT TEST.FUNC_2 FROM DUAL;FUNC_2
-----------------
20060218 20:37:52