我想在用户决定停用或激活用户ID时插入日期。我试图用一个SP来触发这一点,但是显然这比我想象的要难。使用T-SQL将当前日期插入日期列?
我可以做一个
SELECT GETDATE()
得到的日期,但有没有从GETDATE插入信息,并把它变成一个专栏中,我想办法?
我想在用户决定停用或激活用户ID时插入日期。我试图用一个SP来触发这一点,但是显然这比我想象的要难。使用T-SQL将当前日期插入日期列?
我可以做一个
SELECT GETDATE()
得到的日期,但有没有从GETDATE插入信息,并把它变成一个专栏中,我想办法?
几种方法。首先,如果每次发生[de]激活时添加一行,则可以将列的缺省值设置为GETDATE(),而不是在插入中设置值。否则,
UPDATE TableName SET [ColumnName] = GETDATE() WHERE UserId = @userId
要插入新行插入一个给定的表(tblTable):
INSERT INTO tblTable (DateColumn) VALUES (GETDATE())
要更新现有行:
UPDATE tblTable SET DateColumn = GETDATE()
WHERE ID = RequiredUpdateID
注意,当INSERT
荷兰国际集团新行,你需要观察在桌上的任何约束 - 最有可能的约束 - 所以你可能需要提供其他列的值例如...
INSERT INTO tblTable (Name, Type, DateColumn) VALUES ('John', 7, GETDATE())
如果您希望将信息存储在表中,则需要使用INSERT或UPDATE语句。这听起来像你需要一个UPDATE语句:
UPDATE SomeTable
SET SomeDateField = GETDATE()
WHERE SomeID = @SomeID
你可以在默认情况下,因为这SO question's accepted answer shows使用GETDATE()。这样您不提供日期,只需插入其余部分,该日期就是该列的默认值。
您也可以在插入的值列表中提供它,并根据需要手动执行。
UPDATE Table
SET DateColumn=GETDATE()
WHERE [email protected]
如果要插入到表中,并且将始终需要把当前的日期,我会建议设置GETDATE()
作为该列的默认值,而不允许NULL
是啊,我可以留空。我会尝试的。 – nhat