2013-04-08 65 views
0

我使用的是自定義類型與周圍36個不同的數據列在我的PL/SQL程序的數組,讓我在陣列的形式返回數據,這我根據需要在我的前端進行修改。根據要求,我需要修改自定義類型,該類型現在需要修改我發送的現有列數據,即我需要向同一列添加2個列數據。是否可以使用ALTER修改現有的數據類型,還是僅需要使用Replace? 我使用Oracle 10g和正在尋找一種方式來使用ALTER阿爾特對象類型定義,以添加更多的列

我的自定義數據類型的現有定義是:

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 
); 

回答

1

按照該documentation,您可以使用alter type添加屬性:

alter type TYPE_RD_CONTRACT_PRODUCT_PRICE add attribute (new_val integer);

+0

可以多個屬性在同一個語句添加? – 2013-04-08 08:48:46

+1

@AjoKoshy是的。見http://sqlfiddle.com/#!4/fa444/1 – DazzaL 2013-04-08 08:57:40

+0

@DazzaL非常感謝 – 2013-04-08 09:03:01

相關問題