gpt4 book ai didi

sql-server-2005 - SQL Server 中使用什么类型作为可写时间戳?

转载 作者:行者123 更新时间:2023-12-03 01:25:44 25 4
gpt4 key购买 nike

我在 SQL Server 中有一个表,tblMain。有一个触发器,当一行更改时,它基本上从 tblMain 执行 SELECT * 并将更改的行插入到 tblHistory 中。 tblHistory 是 tblMain 的副本(只是更高),并且它有一个额外的字段用于唯一 id。我最近添加了一个 TimeStamp 类型的字段(我现在知道该字段已被弃用,但我稍后会处理它),以避免 Microsoft Access 2007 中出现写入冲突问题。

显然,触发器将 tblMain 中的每个字段复制到 tblHistory。它正在执行 Select *.但是,如果我将 timeStamp 类型的字段放入历史表中以从 tblMain 接收该字段,则触发器显然会失败。我应该在历史表中使用什么类型来接受时间戳源?

最佳答案

来自文档:

A nonnullable timestamp column is semantically equivalent to a binary(8) column. A nullable timestamp column is semantically equivalent to a varbinary(8) column.

这有效:

-- //Main table, with TIMESTAMP column
CREATE TABLE Main ( id INT, TIMESTAMP )

-- //Some values
INSERT Main VALUES ( 8, DEFAULT )
INSERT Main VALUES ( 4, DEFAULT )
INSERT Main VALUES ( 2, DEFAULT )
INSERT Main VALUES ( 7, DEFAULT )
INSERT Main VALUES ( 0, DEFAULT )

-- //See the values
SELECT * FROM Main

-- //History table
-- //with VARBINARY(8) to store a nullable TIMESTAMP
CREATE TABLE History (id INT, ts VARBINARY(8))

-- //Populate History table
INSERT History
SELECT * FROM Main

-- //See the values
SELECT * FROM History

关于sql-server-2005 - SQL Server 中使用什么类型作为可写时间戳?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/2283130/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com