title: Alter Object Type Definition in Oracle to add more columns
body: <p>I am using a custom type with around 36 different data columns as an array in my <strong>PL/SQL</strong> procedure which allows me return data in the form of <strong>array</strong>, which i modify at my front end as required. As per the requirement, i need to modify the custom type which now requires modification of the existing columns data that i send , i.e, i need to add 2 more column data to the same. Is it possible to modify the existing data type using <code>ALTER</code> or do i need to use <code>Replace</code> only for the same?
  I am using Oracle 10g and am looking for a way to use <code>ALTER</code> only</p>
  
  <p>The existing definition of my custom data type is : </p>
  
  <pre><code>create or replace
  Type TYPE_RD_CONTRACT_PRODUCT_PRICE as Object
  (
         CONTRACT_PRODUCT_TERM_ID NUMBER,
         SHIP_FROM_ORG_ID         NUMBER,
         SHIP_FROM_ORG_NUMBER     VARCHAR2(64),
         SHIP_FROM_ORG_NAME       VARCHAR2(128),
         SHIP_TO_ORG_ID           NUMBER,
         SHIP_TO_ORG_NUMBER       VARCHAR2(64),
         SHIP_TO_ORG_NAME         VARCHAR2(128),
         PRICE_START_DATE         DATE,
         PRICE_END_DATE           DATE,
         FOB_PRICE                NUMBER(18,4),
         DELIVERED_PRICE          NUMBER(18,4),
         MISC_FEE                 NUMBER(18,4),
         PRICE_BASIS_ID           NUMBER,
         PRICE_BASIS              VARCHAR2(32),
         MISC_FEE_BASIS_ID        NUMBER,
         MISC_FEE_BASIS           VARCHAR2(32),
         FREIGHT_START_DATE       DATE,
         FREIGHT_END_DATE         DATE,
           FREIGHT_FUEL_DESC_ID     NUMBER,
         TARGET_FREIGHT_BRACKET   NUMBER(18,4),
         FUEL_SURCHARGE_TYPE_NAME VARCHAR2(64),
         TRUCKLOAD_QTY            NUMBER(18,4),
         MILEAGE                  NUMBER(18,4),
         FREIGHT_BRACKET_BASIS    VARCHAR2(32),
         TOTAL_BASE_FREIGHT       NUMBER(18,4),
         MISC_FEE_1               NUMBER(18,4),
         MISC_FEE_2               NUMBER(18,4),
         MISC_FEE_3               NUMBER(18,4),
         MISC_FEE_4               NUMBER(18,4),
         MISC_FEE_5               NUMBER(18,4),
         FREIGHT_MANAGEMENT_TYPE_ID NUMBER,
           FREIGHT_MANAGEMENT_TYPE_NAME VARCHAR2(64),
           REDI_DCT_ORG_ID          NUMBER,
         REDI_DCT_ORG_NUMBER      VARCHAR2(64),
         REDI_DCT_ORG_NAME        VARCHAR2(128),
         IS_REDI_DCT             NUMBER,
         FREIGHT_COST_BASIS_ID   NUMBER
  );
  </code></pre>