将数据类型更改为已存储数据的现有列

时间:2014-03-05 14:48:18

标签: sql oracle

我正在使用SQL Oracle开发人员。

我有一个名为“疫苗”的表,在疫苗内我有一个名为'Vaccine_Number'的列目前疫苗编号是NUMBER数据类型大小(2)。我需要将其更改为varchar2(10)。

这是否可以在不丢失疫苗编号数据的情况下实现?

1 个答案:

答案 0 :(得分:1)

以下是基于您没有对Vaccine_Number进行任何外键引用:

  1. 使用所需的数据类型向表中添加新列。
  2. 运行update语句,使用其他列的值设置新列的值。

    更新疫苗集New_Vaccine_Number = Vaccine_Number,其中New_Vaccine_Number为空

  3. 此外,您可能需要使用To_Char function将您的号码转换为varchar。

    1. 删除其他列。
    2. Rename Vaccine_Number的新专栏