title: PLS-00306: wrong number or types of arguments in call to 'ADD_MONTHS'
body: <p>I have created the below procedure to only retain the last two months data only and delete the rest one against a table in oracle, below is the procedure but i am getting exception, please advise how to overcome from this</p>
  
  <pre><code>create or replace package TEST_TABLE AS
     PROCEDURE TEST_TABLE;
  END TEST_TABLE;
  
  
  create or replace PACKAGE BODY TEST_TABLE AS 
   PROCEDURE TEST_TABLE IS        
   BEGIN
    FOR cc IN
    (
    SELECT partition_name, high_value
    FROM user_tab_partitions
    WHERE table_name = 'TEST_TABLE'
    )    
    LOOP
     BEGIN               
       IF sysdate &gt;= ADD_MONTHS(cc.high_value,2) THEN                  
        EXECUTE IMMEDIATE                     
        'ALTER TABLE TEST_TABLE DROP PARTITION ' || cc.partition_name;                   
         Dbms_Output.Put_Line('Dropping partition is completed.');        
       END IF;
     END;
    END LOOP;
  
    EXCEPTION WHEN Others THEN Dbms_Output.Put_Line( SQLERRM );
  
   END TEST_TABLE;
  
  END TEST_TABLE; 
  </code></pre>
  
  <p>The error that I am getting is:</p>
  
  <blockquote>
    <p>Error(12,6): PL/SQL: Statement ignored<br>
    Error(12,20): PLS-00306: wrong number or types of arguments in call to 'ADD_MONTHS'</p>
  </blockquote>