Monday, April 14, 2014

can we create function/procedure in package body without their(function/procedure) declaration in package spec ?

can we create function/procedure in package body without their(function/procedure) declaration in package spec ?

Ans: Yes

CREATE OR REPLACE PACKAGE testperf AS
   FUNCTION pow(i number) RETURN number;
   FUNCTION pow(i number,j number) RETURN number;
END testperf

CREATE OR REPLACE PACKAGE BODY testperf AS
   FUNCTION pow(i number) RETURN number AS
   BEGIN
      RETURN i * i;
   END;
   FUNCTION pow(i number,j number) RETURN number AS
   BEGIN
      RETURN i * j;
   END;
   FUNCTION pow1(i number,j number) RETURN number AS
   BEGIN
      RETURN i * j;
   END
 
END;

(if we declare function/procedure in package spec it must be defined in package body.


CREATE OR REPLACE PACKAGE testperf AS
   FUNCTION pow(i number) RETURN number;
   FUNCTION pow(i number,j number) RETURN number;
END testperf


CREATE OR REPLACE PACKAGE BODY testperf AS
   FUNCTION pow(i number) RETURN number AS
   BEGIN
      RETURN i * i;
   END;
END;

LINE/COL ERROR
-------- -----------------------------------------------------------------
3/13     PLS-00323: subprogram or cursor 'POW' is declared in a package
         specification and must be defined in the package body

No comments:

Post a Comment