语句被忽略14/13 PLS-00222:此范围内没有名称为“P”的函数

时间:2017-07-05 09:17:21

标签: plsql package

包装规格:

CREATE OR REPLACE PACKAGE dt_pkg AS
    PROCEDURE Simpleint(
        p number, n number, r number := 10);

    PROCEDURE Compoundint(
        p number, n number, r number);
END dt_pkg;
/

Package BODY:

CREATE OR REPLACE PACKAGE BODY dt_pkg  IS
    PROCEDURE Simpleint (p NUMBER, n number, r NUMBER) IS
        si number :=0;
    BEGIN
        si:=p*n*r;
        DBMS_OUTPUT.PUT_LINE('sIMPLE INT: '||si);
    END Simpleint;

   PROCEDURE Compoundint (p number,n number,r number) IS 
       ci number:=0;
   BEGIN
       ci:=p(1+r/100)**n;
       DBMS_OUTPUT.PUT_LINE('COMPOUND INTEREST: '||ci);
    END Compoundint;
END dt_pkg;
/

我得错误

  

LINE / COL ERROR

           

14/9 PL / SQL:语句被忽略
  14/13 PLS-00222:此范围内不存在名称为“P”的函数

请帮忙 谢谢。

2 个答案:

答案 0 :(得分:1)

你的包裹上有拼写错误。

ci:=p(1+r/100)**n;

试试这个:

ci:=p*(1+r/100)*n;

希望这会对你有所帮助

答案 1 :(得分:-1)

我认为错误在这里: 错误:ci:= p(1 + r / 100)** n; 正确:ci:= p *(1 + r / 100)** n;