我对更高级的数据库功能(例如函数)相当陌生,但我很好奇您将如何在 MSSQL 中执行此操作(或者如果可能的话):
如果我有一个表,其结构如下:
t_test USR_VALUE MULTIPLIER TOLERANCE VALUE_OK 100 .8 85 OK 100 .9 85 NO
如何让 VALUE_OK 在每次更新行时根据 USR_VALUE、MULTIPLIER 和 TOLERANCE 自动更新自身(即简单计算:
(t_test.USR_VALUE * t_test.MULTIPLIER >= TOLERENCE)? “确定”:“否”
)
最佳答案
您想要的表达式:
CASE
WHEN USR_VALUE * MULTIPLIER >= TOLERANCE THEN 'OK'
ELSE 'NO'
END
请注意,您可以使用...将其作为计算列添加到表中
ALTER TABLE yourtable
ADD VALUE_OK AS CASE
WHEN USR_VALUE * MULTIPLIER >= TOLERANCE THEN 'OK'
ELSE 'NO'
END
...但要小心在 WHERE 子句中使用此值,因为执行计算的成本和缺乏索引可能会令人望而却步。如果您想将其提升到一个新的水平,请搜索索引计算列。
关于SQL Server 2008 字段函数 - 根据其他两个字段之间的关系返回 'ok' 或 'no',我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/3663414/