功能需求:用户自定义公式,然后根据公式自动计算出值,该值也要保存到数据库,不知怎样设计才算是最合理的,请大家帮帮忙!

解决方案 »

  1.   

    给你个例子看看吧,有啥不明白饿再问吧
    CREATE TABLE [dbo].[t_formula2](
    [id_i] [int],
    [tid_i] [int],
    [formula_ch] [varchar](1000) COLLATE Chinese_PRC_CI_AS NOT NULL,
            --有几个字段让我去掉了

    其中[formula_ch]是以这样的结构存储的
    [1438]/[1396]*100
    1438和1396都是其他数据表中的ID而tid_i是目标ID,因为计算的时候有可能设计到递贵过程计算的思路:可以做一个应用程序,在您想计算的时候调用这个应用程序
    而应用程序的作用是通过t_formula2表来计算值,在将得到的值更新到存储值的表中tid_i所对应的行
      

  2.   

    先insert t_formula2(id_i,tid_i) values('','');
    然后使用update语句,
    update t
    set t.formula_ch=(a.ID/b.ID*100) --a.id,b.id 从其他表中取得
    from At_formula2 t 
    inner join 
    select a.ID
    from a
    on  a.id_i=t.id_i --与a表关联 取得a.id
    inner join 
    select b.ID
    from b
    on  b.id_i=t.id_i --与b表关联 取得b.id