基本上我想要的是last_modified_datestamp列,它设置为插入或更新行的日期。 我知道mysql有想知道sybase是否具有等价物,或者我是否需要添加触发器。
谢谢, 肖恩
答案 0 :(得分:1)
我不知道世界上的非标准非SQL是做什么的,但IEC / ISO / ANSI标准SQL从其接受日期开始就具有此功能。
它是TIMESTAMP DataType的一个列(无论你怎么命名,例如UpdatedDateTime)。当行是UPDATED或INSERTED时,它由服务器自动设置,并且不能在代码中被规避。
GETDATE()的DEFAULT(Sybase中没有“CURRENT DATE”)是一个完全不同的动物。如果且仅当INSERT未指定该列的值时,默认为标识的DEFAULT值,即当前日期时间。其次,它没有在UPDATE命令上更新。
现在我懒得告诉你关于世界非SQL的原因是,他们没有使用TIMESTAMP的标准要求,这是Unix时代,他们使用了一些有趣的废话,你不会得到它在符合标准的SQL中有趣的废话,您将获得标准处理。您可以使用TSEQUAL Function访问它(正常方式)。要直接读取TIMESTAMP列,请按照示例将其视为BINARY。
答案 1 :(得分:0)
我认为这就是你所追求的目标
ALTER TABLE table_name
MODIFY date_column DEFAULT CURRENT DATE