SQL默认约束
我有一个表,有两列DateReceived和dateDue。我知道如何使用以下命令使dateNow列默认显示今天的日期: 默认GETDATE() 然后,用户可以将DateReceived列修改为他们想要的任何日期 用户修改DateReceived列后;如何设置dateDue列,使其在默认情况下显示距离DateReceived x天的日期 我看了这个答案,但我需要参考另一个专栏。 当DateReceived发生更改时,DateReceived是否可以自动修改其值? 用户应该能够覆盖这两列中的默认值 我正在使用W3学校的sql教程,但它没有答案,我在stackoverflow上也找不到答案SQL默认约束,sql,sql-server,constraints,default,dateadd,Sql,Sql Server,Constraints,Default,Dateadd,我有一个表,有两列DateReceived和dateDue。我知道如何使用以下命令使dateNow列默认显示今天的日期: 默认GETDATE() 然后,用户可以将DateReceived列修改为他们想要的任何日期 用户修改DateReceived列后;如何设置dateDue列,使其在默认情况下显示距离DateReceived x天的日期 我看了这个答案,但我需要参考另一个专栏。 当DateReceived发生更改时,DateReceived是否可以自动修改其值? 用户应该能够覆盖这两列中的默认
谢谢听起来你要找的是一个触发器,它会一直等到更新完成,然后dateDue会自动更新 这个答案可能会为您指明正确的方向: 因此,当你说“用户修改”时,你指的是更新 默认值仅与INSERT语句相关 这是真的,你可以通过触发器完成任何你想要的自动更新更改,但作为一个初学者,我会直接建议你远离触发器。它们很少得到正确的实施,并且在出现问题时更难理解
您要做的是插入您的行(允许任何默认值“发生”),然后使用您想要的值更新您的行。谢谢,该链接很有用。