使用T-SQL将当前日期插入日期列?

nha*_*hat 18 sql t-sql stored-procedures

我正在尝试在用户决定停用或激活UserID时插入日期.我正在尝试使用SP触发它,但显然这比我想象的要难.

我可以做一个

SELECT GETDATE()
Run Code Online (Sandbox Code Playgroud)

获取日期,但有没有办法从GETDATE插入该信息并将其放入我想要的列?

har*_*ott 18

几种方式.首先,如果每次发生[de]激活时都添加一行,则可以将列默认设置为GETDATE(),而不是在插入中设置值.除此以外,

UPDATE TableName SET [ColumnName] = GETDATE() WHERE UserId = @userId
Run Code Online (Sandbox Code Playgroud)


El *_*oco 9

要将新行插入给定表(tblTable):

INSERT INTO tblTable (DateColumn) VALUES (GETDATE())
Run Code Online (Sandbox Code Playgroud)

要更新现有行:

UPDATE tblTable SET DateColumn = GETDATE()
 WHERE ID = RequiredUpdateID
Run Code Online (Sandbox Code Playgroud)

请注意,在INSERT处理新行时,您需要观察表中的任何约束 - 很可能是NOT NULL约束 - 因此您可能需要为其他列提供值,例如......

 INSERT INTO tblTable (Name, Type, DateColumn) VALUES ('John', 7, GETDATE())
Run Code Online (Sandbox Code Playgroud)


Cur*_*urt 5

UPDATE Table
SET DateColumn=GETDATE()
WHERE UserID=@UserID
Run Code Online (Sandbox Code Playgroud)

如果你要插入一个表,并且总是需要输入当前日期,我建议设置GETDATE()为该列的默认值,并且不允许NULL