Oracle 在PLSQL中从数字更改为生成
我试图将此列的原始数据类型为Number的表更改为生成的Oracle 在PLSQL中从数字更改为生成,oracle,plsql,numbers,generated,Oracle,Plsql,Numbers,Generated,我试图将此列的原始数据类型为Number的表更改为生成的列,但我得到一个错误“ORA-00905缺少关键字” 我的语法正确吗 除了删除和重新创建表,我还有其他选择吗?Oracle文档显然不支持您尝试的语法。显而易见的解决方案是放下色谱柱,然后将其更换: ALTER TABLE mytable DROP COLUMN flagcolumn; ALTER TABLE mytable ADD numeric GENERATED ALWAYS AS (CASE WHEN valuecolu
列,但我得到一个错误“ORA-00905缺少关键字”
我的语法正确吗
除了删除和重新创建表,我还有其他选择吗?Oracle文档显然不支持您尝试的语法。显而易见的解决方案是放下色谱柱,然后将其更换:
ALTER TABLE mytable
DROP COLUMN flagcolumn;
ALTER TABLE mytable
ADD numeric GENERATED ALWAYS AS (CASE WHEN valuecolumn IS NULL THEN 1 ELSE 0 END) VIRTUAL;
实际上没有理由不这样做,因为您在任何情况下都会删除列的原始数据
ALTER TABLE mytable
DROP COLUMN flagcolumn;
ALTER TABLE mytable
ADD numeric GENERATED ALWAYS AS (CASE WHEN valuecolumn IS NULL THEN 1 ELSE 0 END) VIRTUAL;