当前位置:  开发笔记 > 编程语言 > 正文

如何基于另一列在SQL中为一列设置默认值

如何解决《如何基于另一列在SQL中为一列设置默认值》经验,为你挑选了2个好方法。

我正在使用旧的SQL 2000数据库,我没有很多SQL经验.当一个新行添加到我的一个表时,我需要根据工作类别的列分配一个默认时间值.

例如,工作类别A将分配1小时的时间值,类别B将分配2小时等等...

如果用户没有手动输入他们完成工作所花费的时间,则只应设置该值.我想过用默认约束来做这个,但我不认为如果默认值有依赖关系会有效.

最好的方法是什么?



1> Stephen Wrig..:

我会在Insert上使用触发器.

只需检查是否已分配值,如果没有,请抓住正确的值并使用它.



2> Petrus Thero..:

使用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'
)

推荐阅读
ar_wen2402851455
这个屌丝很懒,什么也没留下!
DevBox开发工具箱 | 专业的在线开发工具网站    京公网安备 11010802040832号  |  京ICP备19059560号-6
Copyright © 1998 - 2020 DevBox.CN. All Rights Reserved devBox.cn 开发工具箱 版权所有