用于表示 SQL Server 在一行上的活动顺序,按二进制格式以递增的数字来表示。当表中的行发生变动时,用从 @@DBTS 函数获得的当前数据库的时间戮值来更新时间戮。timestamp 数据与插入或修改数据的日期和时间无关。若要自动记录表中数据更改的时间,使用 datetime 或 smalldatetime 数据类型记录事件或触发器。
解决方案 »
- 我装上了sql2005,但是没有管理工具呀?是不是要另外装呀?
- sqlserver2005时间类型设置请教?
- 关于聚合函数的求助-
- 帮我看看我的"成绩表","课程表"之间为什么不能建立FK
- 求一SQL
- 应用程序无法连接SQL 2005,请指点
- 关于数据库备份还原 问题,!!!小弟实在是太苯拉!个位大哥帮帮忙!!!
- 使用sql2000,生成数据库sql脚本后,在用户的机器上执行该脚本,数据库原来的所有者为jet,现在变成了dbo了,请问如何将所有者该为原来的je
- sql2000的怪问题?
- asp 和 sql server 的问题?
- 怎样在数据库中新建一个用户?
- 如何在存储过程定位某一行,如我要看存储第100行是哪个语句,怎么看呢,请各位指教,在线等啊
SQL Server timestamp 数据类型与时间和日期无关。SQL Server timestamp 是二进制数字,它表明数据库中数据修改发生的相对顺序。实现 timestamp 数据类型最初是为了支持 SQL Server 恢复算法。每次修改页时,都会使用当前的 @@DBTS 值对其做一次标记,然后 @@DBTS 加 1。这样做足以帮助恢复过程确定页修改的相对次序,但是 timestamp 值与时间没有任何关系。在 SQL Server 7.0 版和 SQL Server 2000 中,@@DBTS 只在 timestamp 列中使用时其值才会增加。如果一个表包含 timestamp 列,则每次由 INSERT、UPDATE 或 DELETE 语句修改一行时,此行的 timestamp 值就被置为当前的 @@DBTS 值,然后 @@DBTS 加 1。因为每一次修改时 timestamp 值都会改变,所以千万不要在键(特别是主键)中使用 timestamp 列。若要记录表中发生的数据修改次数,可用 datetime 或 smalldatetime 数据类型来记录这些事件和触发器,这样,当发生修改时,就可以自动更新其值。