请问如何在oracle中建表时设置公式(某列的值依赖于其他列),就像sql server的企业管理器中那样?

解决方案 »

  1.   


    应该不行吧,我是想进行计算,比如有三列,col1,col2,col3,我想令col3的值为col1和col2的和
      

  2.   

    eg.create table test(a varchar2(20), b varchar2(20),  a||b as v_c)
    c就是虚拟列了.要求11G
      

  3.   

    触发器可以实现,我是想能不能像sql server中一样,在表中直接设置某列的计算公式,实在不行就只能用触发器了
      

  4.   


    查询的时候可以用,但是当我的数值改变之后数据库里没办法改过来啊,比如我的col1和col2改变了,col3还是原来的值
      

  5.   

    对原表建一个视图吧,只要查询视图就可以了.create view v_test(col1, col2, col3)
    as
    select col1, col2, col1 + col2
      from test;
      

  6.   

    我觉得这样设计的意义不大,为什么不通过SQL或者应用程序来计算呢?
      

  7.   

    是这样的,我用的c#+oracle,查询的时候用的是select  col1, col2, col1 + col2  as col3 from table1
    查询结果填入DataSet1中,更新数据的时候用
    OracleDataAdapter da = new OracleDataAdapter();
    da.Update(dataset1, table1);
    这样的话更新后数据库里只能更新col1和col2,我想把col3也更新,不知道用什么办法比较好
      

  8.   

    建表时为什么还要col3呢????
      

  9.   

    其他地方需要用到col3,而col3是依赖于值col2和col2的
      

  10.   

    其他地方需要用到col3,而col3是依赖于值col2和col2的
      

  11.   

    还是写个触发器吧
    在插入,更新时,直接更新col3不是更好?