是否有一种方法可以在sybase ase15中更新行时设置列的值

时间:2011-02-03 04:15:11

标签: sybase

基本上我想要的是last_modified_datestamp列,它设置为插入或更新行的日期。 我知道mysql有想知道sybase是否具有等价物,或者我是否需要添加触发器。

谢谢, 肖恩

2 个答案:

答案 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