我怎样才能调用pl / sql存储过程(函数,返回数值)?

时间:2010-10-31 10:08:19

标签: sql oracle plsql sqlplus oracle-sqldeveloper

我正在使用Oracle SQL开发人员或Oracle SQL * Plus

2 个答案:

答案 0 :(得分:18)

在SQL Plus中,您可以这样做:

var x number
exec :x := myfunction();

或者您可以使用SQL:

select myfunction() from dual;

答案 1 :(得分:2)

上面的示例显示了如何从SQL * Plus调用函数。如果您正在从PL / SQL过程调用函数,请参阅下面的示例。

DECLARE
    x NUMBER;
BEGIN
    x := myfunction();
END;

一个更复杂的示例,它将返回值100(10 * 10):

DECLARE

  x NUMBER;

  FUNCTION mysquare(in_y IN NUMBER) RETURN NUMBER IS
  BEGIN
    RETURN in_y * in_y;
  END mysquare;

BEGIN

  dbms_output.enable;
  x := mysquare(10);
  dbms_output.put_line(x);

END;