2013-04-08 29 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

相关问题