我正在使用旧的SQL 2000数据库,我没有很多SQL经验.当一个新行添加到我的一个表时,我需要根据工作类别的列分配一个默认时间值.
例如,工作类别A将分配1小时的时间值,类别B将分配2小时等等...
如果用户没有手动输入他们完成工作所花费的时间,则只应设置该值.我想过用默认约束来做这个,但我不认为如果默认值有依赖关系会有效.
最好的方法是什么?
使用Stephen Wrighton建议的触发器:
CREATE TRIGGER [myTable_TriggerName] ON dbo.myTable FOR INSERT
AS
SET NOCOUNT ON
UPDATE myTable
SET
timeValue = '2 hours' -- assuming string values
where ID in (
select ID
from INSERTED
where
timeValue = ''
AND workCategory = 'A'
)
Run Code Online (Sandbox Code Playgroud)