关于筛选计算公式的问题

hlq8210 2005-07-14 02:42:06
我用了一个表 专门用来保存计算公式
结构如下
绑定的表名称: tableName Varchar(80)
绑定公式字段: FieldCode varchar(80)
公式代码: formulacode text
执行条件: conditioncode text

现在我有一个员工表上
有800条计算公式
为了计算公式能实时执行。。。
员工表每修改一条记录都要执行一遍计算公式

...全文
122 7 打赏 收藏 转发到动态 举报
写回复
用AI写文章
7 条回复
切换为时间正序
请发表友善的回复…
发表回复
hlq8210 2005-07-14
  • 打赏
  • 举报
回复
没怎么看明白,不过我想应该是建立一个公式对应关系才比较好,就是说从第一个公式起,如果改过了,就需要更新其它哪些公式,
不知道,我理解对了没有?
------------------------------------------------------
谢谢

我的意思是:
比如 第一条为: 工资=实发+奖金 条件为 ID=100
第二条为: 业绩奖=800 条件为 工资=5000

如果我修改员工表 iD=100 的记录 第一条计算公式肯定要执行
第二条 就要看 iD=100 的记录执行第一条计算公式后 工资是否=5000 如果等于5000 那么第二条也要执行

我的计算公式由用户只有设置的
现在有个客户员工表的计算公式为800条了,我想用一条语句只执行满足修改这条记录的的计算公式
hlq8210 2005-07-14
  • 打赏
  • 举报
回复
没怎么看明白,不过我想应该是建立一个公式对应关系才比较好,就是说从第一个公式起,如果改过了,就需要更新其它哪些公式,
不知道,我理解对了没有?
------------------------------------------------------
谢谢

我的意思是:
比如 第一条为: 工资=实发+奖金 条件为 ID=100
第二条为: 业绩奖=800 条件为 工资=5000

如果我修改员工表 iD=100 的记录 第一条计算公式肯定要执行
第二条 就要看 iD=100 的记录执行第一条计算公式后 工资是否=5000 如果等于5000 那么第二条也要执行

我的计算公式由用户只有设置的
现在有个客户员工表的计算公式为800条了,我想用一条语句只执行满足修改这条记录的的计算公式
子陌红尘 2005-07-14
  • 打赏
  • 举报
回复
如果只要满足条件的公式都得执行,而又因为每一步根据公式更新的结果对于下一步而言,在前一公式执行前都是未知的,所以楼主的设想恐怕无法实现。
ilons1 2005-07-14
  • 打赏
  • 举报
回复
没怎么看明白,不过我想应该是建立一个公式对应关系才比较好,就是说从第一个公式起,如果改过了,就需要更新其它哪些公式,
不知道,我理解对了没有?
hlq8210 2005-07-14
  • 打赏
  • 举报
回复
应该是这样的:
tablename FieldCode formulacode conditioncode
________________________________________________________________________________
Employees Cust2100 DateDiff(day,Employees.JoinDate, GETDATE) Employees.Employeeid=100
Employees Cust2101 '新职员入职' Employees.Cust2100=90
Employees Cust2102 'S07' Employees.Employeeid=100

hlq8210 2005-07-14
  • 打赏
  • 举报
回复
举个例子:

tablename FieldCode formulacode conditioncode
__________________________________________________________________________________________
Employees Cust2100 DateDiff(day,Employees.JoinDate, GETDATE) Employees.Employeeid=100
Employees Cust2101 '新职员入职' Employees.Cust2100=90
Employees Cust2102 'S07' Employees.Employeeid=100

如果我修改员工表 Employeeid=100 的这条数据
如果 (DateDiff(day ,Employees.JoinDate, GETDATE()) =90 那么只执行两条计算公式(1和2、3、不执行)执行计算公式分先后,执行第二条计算公式是因为第二条计算公式条件用了第一条计算公式 计算列 且 (DateDiff(day ,Employees.JoinDate, GETDATE()) =90
因为公式太多引起速度很慢
我想用一条语句筛选 满足修改这条记录的的计算公式,整整想了两天,没有找到解决的办法,请大家帮帮忙! 先谢了








hlq8210 2005-07-14
  • 打赏
  • 举报
回复
举个例子:

tablename FieldCode formulacode conditioncode
__________________________________________________________________________________________
Employees Cust2100 DateDiff(day,Employees.JoinDate, GETDATE) Employees.Employeeid=100
Employees Cust2101 '新职员入职' Employees.Cust2100=90
Employees Cust2102 'S07' Employees.Employeeid=100

如果我修改员工表 Employeeid=100 的这条数据
如果 (DateDiff(day ,Employees.JoinDate, GETDATE()) =90 那么只执行两条计算公式(1和2、3、不执行)执行计算公式分先后,执行第二条计算公式是因为第二条计算公式条件用了第一条计算公式 计算列 且 (DateDiff(day ,Employees.JoinDate, GETDATE()) =90
因为公式太多引起速度很慢
我想用一条语句筛选 满足修改这条记录的的计算公式,整整想了两天,没有找到解决的办法,请大家帮帮忙! 先谢了








27,579

社区成员

发帖
与我相关
我的任务
社区描述
MS-SQL Server 应用实例
社区管理员
  • 应用实例社区
加入社区
  • 近7日
  • 近30日
  • 至今
社区公告
暂无公告

试试用AI创作助手写篇文章吧