直接就使用应该可以!!
create view view_name as 
select tb.no,tb.id,(tb.C1+tc.D2) as result from tableb tb,tablec tc

解决方案 »

  1.   

    怪我没有说清楚,只有当id为1是才是这个公式,当为2时为邻各公式如tb1.x+tb2.y,所以create view中的计算字段的表达式是不是固定的。好像要涉及decode之类能够动态建立字段的方法,谢谢。
      

  2.   

    如果是这样的话,即便是使用了decode也不行,因为那是一个字符型字段的值,decode并不能将它转化为一个表达式!!
    我还不知道oracle有没有这个功能函数!!
      

  3.   

    你的formula是记录在表A中,用decode也不能解决问题,而且在公式中出现的字段又不确定,只能利用函数来实现,而且得将B、C表的所有当前字段(或者所有可能出现在公式中的字段)的值和当前的no值作为输入参数,然后在函数中得到公式,再分析计算,总之很麻烦,而如果你确实写了这样一个函数,似乎也就不需要建view了。