当前位置: 代码迷 >> Oracle开发 >> 怎么把表里某类修改为计算列
  详细解决方案

怎么把表里某类修改为计算列

热度:10   发布时间:2016-04-24 07:26:32.0
如何把表里某类修改为计算列
比如:create table tb(t1 int,t2 int,t3 int , t4 int)

我想把t4改成计算列 t4=t1+t2+t3,怎么修改这列,修改语句怎么写




------解决方案--------------------
update tb set t4=t1+t2+t3
------解决方案--------------------
update tb set t4=nvl(t1,0)+nvl(t2,0)+nvl(t3,0);
------解决方案--------------------
如果你需要的是建立一个虚拟列,那么只能先将这一列删除,然后再创建一个新的虚拟列
SQL code
SQL>  create table tb(t1 int,t2 int,t3 int , t4 int) ;Table created.SQL>  create table tb(t1 int,t2 int,t3 int , t4 int) ;Table created.SQL> commit ;Commit complete.SQL> alter table tb modify t4 as (t1+t2+t3) ;alter table tb modify t4 as (t1+t2+t3)                      *ERROR at line 1:ORA-54026: Real column cannot have an expressionSQL> alter table tb drop column t4 ;Table altered.[color=#FF0000]SQL> alter table tb add t4 as (t1+t2+t3) ;[/color]Table altered.SQL> select * from tb ;        T1         T2         T3         T4---------- ---------- ---------- ----------         1          1          1          3         2          2          2          6         3          3          3          9         4          4          4         12         5          5          5         15         6          6          6         18         7          7          7         21         8          8          8         24         9          9          9         27        10         10         10         3010 rows selected.
  相关解决方案