Oracle
 sql >> डेटाबेस >  >> RDS >> Oracle

UDT फ़ंक्शन बनाते समय PLS-00539 और PLS-00538 त्रुटियाँ

घोषणा करते समय आपने कुछ गलतियाँ की हैं, व्याख्या इनलाइन देखें:

CREATE OR REPLACE TYPE VC_MNumber AS OBJECT
(
   idno NUMBER,
   MEMBER FUNCTION dimension
      RETURN NUMBER,
   MEMBER FUNCTION typeName
      RETURN VARCHAR2
)
   NOT INSTANTIABLE NOT FINAL;
/

--DROP TYPE VC_MINTEGER;

CREATE OR REPLACE  TYPE VC_MInteger
   UNDER VC_MNumber
   (
      OVERRIDING MEMBER FUNCTION dimension
         RETURN NUMBER,
      OVERRIDING MEMBER FUNCTION typeName
         RETURN VARCHAR2
   );
/

CREATE OR REPLACE  TYPE VC_MReal
   UNDER VC_MNumber
   (
      YDCCoeff NUMBER,
      CbDCCoeff NUMBER,
      CrDCCoeff NUMBER,
      OVERRIDING MEMBER FUNCTION Dimension --<--Overriding function should have same name
         RETURN NUMBER,
      OVERRIDING MEMBER FUNCTION typeName
         RETURN VARCHAR2
   )
    FINAL;
/

CREATE OR REPLACE TYPE BODY VC_MReal
AS
   OVERRIDING MEMBER FUNCTION Dimension
      RETURN NUMBER
   IS
      var_dimension   NUMBER := 10;
   BEGIN
      RETURN var_dimension;
   END;

   OVERRIDING MEMBER FUNCTION typeName  --<-- You declared in Object type as `overriding` function and using it as `Member function` alone.
      RETURN VARCHAR2
   IS
      var_typeName   VARCHAR2 (400) := 'VC_MREAL';
   BEGIN
      RETURN var_typeName;
   END;
END;
/



  1. Database
  2.   
  3. Mysql
  4.   
  5. Oracle
  6.   
  7. Sqlserver
  8.   
  9. PostgreSQL
  10.   
  11. Access
  12.   
  13. SQLite
  14.   
  15. MariaDB
  1. pl/sql संग्रहीत कार्यविधि:पैरामीटर नाम स्तंभ नाम के समान है

  2. oracle में CONNECT-BY क्वेरी से डुप्लिकेट सबट्री हटाना

  3. Oracle UNION और ORDER BY के साथ जिज्ञासु मुद्दा

  4. SSRS में Oracle संग्रहीत कार्यविधि निष्पादित करते समय त्रुटि:PLS-00306:कॉल करने के लिए गलत संख्या या तर्कों के प्रकार

  5. SQL*Plus . का उपयोग करके बड़ा CLOB (1 MB) जेनरेट करें और डालें