我正在尝试在用户决定停用或激活UserID时插入日期。我试图使用SP触发它,但显然这比我想象的要难。
我可以做一个
SELECT GETDATE()
获取日期但有没有办法从GETDATE插入该信息并将其放入我想要的列中?
答案 0 :(得分:18)
几种方式。首先,如果每次发生[de]激活时都添加一行,则可以将列默认设置为GETDATE(),而不是在插入中设置值。否则,
UPDATE TableName SET [ColumnName] = GETDATE() WHERE UserId = @userId
答案 1 :(得分:8)
将新行插入给定表(tblTable):
INSERT INTO tblTable (DateColumn) VALUES (GETDATE())
更新现有行:
UPDATE tblTable SET DateColumn = GETDATE()
WHERE ID = RequiredUpdateID
请注意,当INSERT
新行时,您需要观察表中的任何约束 - 很可能是NOT NULL
约束 - 因此您可能需要为其他列提供值,例如。 ..
INSERT INTO tblTable (Name, Type, DateColumn) VALUES ('John', 7, GETDATE())
答案 2 :(得分:5)
UPDATE Table
SET DateColumn=GETDATE()
WHERE UserID=@UserID
如果您要插入表格,并且总是需要输入当前日期,我建议将GETDATE()
设置为该列的默认值,并且不允许使用NULL
答案 3 :(得分:4)
如果您希望将信息存储在表中,则需要使用INSERT或UPDATE语句。听起来你需要一个UPDATE语句:
UPDATE SomeTable
SET SomeDateField = GETDATE()
WHERE SomeID = @SomeID
答案 4 :(得分:3)
您可以在默认情况下使用getdate()作为此SO question's accepted answer shows。这样您就不会提供日期,只需插入其余日期,该日期就是该列的默认值。
您也可以在插入的值列表中提供它,并根据需要手动执行。