Oracle SQL-无效的更改表选项

问题描述

我已经创建了下表,“付款”状态列使用数字(1&0)来显示付款状态1(如果收到),否则显示0。我用数据填充了一些行。但是我决定使用(付费,不付费)代替(1,0)。我尝试执行Alter table,但出现此错误:ORA-01735:无效的ALTER TABLE选项 01735. 00000-“无效的ALTER TABLE选项”。我知道发生这种情况是因为表中的数据类型设置为数字,并且已经充满了数字,但是解决此问题的最简单方法是什么?

谢谢

Name                    Null?    Type         
----------------------- -------- ------------ 
OWNER_NAME                       VARCHAR2(20) 
APARTMENT_NUMBER                 VARCHAR2(4)  
TELEPHONE_NUMBER                 VARCHAR2(15) 
MONTH_YEAR                       VARCHAR2(6)  
FEE                              NUMBER       
PAYMENT_STATUS          NOT NULL NUMBER(1)    
MONEY_HANDED_TO_COMMITY          VARCHAR2(3)  

解决方法

没有“简便”的方法。

  • 创建新列
  • 更新表并设置新列的值(取决于0/1)
  • 删除旧列
  • 将新列重命名为旧名称