Sql server 在oracle和sql server中自动更新时间戳列,不带触发器

Sql server 在oracle和sql server中自动更新时间戳列,不带触发器,sql-server,oracle,timestamp,Sql Server,Oracle,Timestamp,在MySQL中,我可以创建一个带有时间戳列的表,该列的值在其他列更改时自动更新: CREATE TABLE t (ts TIMESTAMP DEFAULT CURRENT_TIMESTAMP ON UPDATE CURRENT_TIMESTAMP); 在SQL Server中执行类似操作的最佳方法是什么?那么甲骨文呢?不使用触发器是否可以执行此操作?对于SQL Server,请查看 但是,这只会为您的行提供“任意”版本控制,而不会提供更新的实际时间戳: ro

在MySQL中,我可以创建一个带有时间戳列的表,该列的值在其他列更改时自动更新:

CREATE TABLE t (ts TIMESTAMP DEFAULT CURRENT_TIMESTAMP
                  ON UPDATE CURRENT_TIMESTAMP);

在SQL Server中执行类似操作的最佳方法是什么?那么甲骨文呢?不使用触发器是否可以执行此操作?

对于SQL Server,请查看

但是,这只会为您的行提供“任意”版本控制,而不会提供更新的实际时间戳:

rowversion数据类型只是一个递增的数字,不保留日期或时间


据我所知,如果没有触发器,SQL Server中的真实时间戳版本是不可能的。

对于SQL Server,请查看

但是,这只会为您的行提供“任意”版本控制,而不会提供更新的实际时间戳:

rowversion数据类型只是一个递增的数字,不保留日期或时间


据我所知,如果没有触发器,SQL Server中的真实时间戳版本是不可能的。

对于Oracle,即使是版本11gR2,列定义中的默认子句仅适用于插入时忽略的赋值。在Oracle中,触发器似乎也是您唯一的选择

对于Oracle,即使在版本11gR2之前,列定义中的默认子句也仅适用于在INSERT中省略时指定的值。在Oracle中,触发器似乎也是您唯一的选择

在编写触发器时,请确保考虑多行更新!这在SQL server中非常重要。在编写触发器时,请确保考虑多行更新!这在SQL server中非常关键。