我在 PL / SQL 过程中使用包含大约36个不同数据列的自定义类型作为数组,这允许我以数组的形式返回数据,我根据需要修改我的前端。根据要求,我需要修改自定义类型,现在需要修改我发送的现有列数据,即我需要再添加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
);
答案 0 :(得分:1)
根据documentation,您可以使用alter type
添加属性:
alter type TYPE_RD_CONTRACT_PRODUCT_PRICE add attribute (new_val integer);