用varray替换属性

时间:2018-08-10 15:42:06

标签: sql oracle oracle-sqldeveloper varray

我创建了一个varray,但是需要用它替换我的一个表中的一个属性。到目前为止,我已经输入:

CREATE or REPLACE TYPE PhoneList_vartyp AS VARRAY(10) of VARCHAR2(20); 

我在Oracle中使用HR模式,需要将Phone_number表中的Employees替换为varray PhoneList_vartyp

1 个答案:

答案 0 :(得分:0)

您可以使用:

CREATE or REPLACE TYPE PhoneList_vartyp AS VARRAY(10) of VARCHAR2(20); 

--renaming existing column
alter table employees rename column phone_number to phone_number_old;

-- adding new column
alter table employees add phone_number PhoneList_vartyp;

-- moving data
update employees
set phone_number = PhoneList_vartyp(phone_number_old);
commit;

-- removing old column
alter table employees drop column phone_number_old;