如何用SQL调用存储过程呢?因为SQL只能调用自定义函数,但是自定义函数可以调用存储过程,因此,可以SQL----调用FUNCTION---调用PROCEDURE来间接实现SQL调用函数。如下例:
SQL> CREATE OR REPLACE PROCEDURE test_prc(var1 IN number,var2 OUT NUMBER) 2 AS 3 BEGIN 4 var2 := var1+1; 5 END; 6 / Procedure created SQL> SQL> CREATE OR REPLACE FUNCTION test_func(var1 IN NUMBER) 2 RETURN NUMBER 3 AS 4 var2 NUMBER; 5 BEGIN 6 test_prc(var1,var2); 7 RETURN var2; 8 END; 9 / Function created SQL> SELECT test_func(1) FROM dual; TEST_FUNC(1) ------------ 2 |
在程序编写过程中,如果直接不行,就需要用间接手段,SQL调用存储过程,使用自定义FUNCTION作为媒介,从而很容易实现这个功能。