English 中文(简体)
仅为表
原标题:Setting version column in append only table

我们有一个表格储存记录版本。

栏目是:

Id (Guid)
VersionNumber (int)
Title (nvarchar)
Description (nvarchar)
etc...

节省一个项目后,在表格中增加一个新行,同时增加一个版本。

我不敢肯定,如何最佳地产生相应的版本的数值。 我的初步想法是:

SELECT @NewVersionNumber = MAX(VersionNumber) + 1
FROM VersionTable
WHERE Id = @ObjectId

然后在我的发言中使用“新车号”。

如果我使用这一方法,我就需要把我的交易定为可以避免一致性问题的系列交易? 最后,我不想重复同一个Id的版本。

是否有更好的办法使我无法使用可序列交易?

最佳回答

为避免出现一致性问题(或者在你的具体情况下重复插入)你可以设立一个“关键”栏,作为你的表格的主要关键部分,由“ID”和“版本”栏组成。 这将对关键一栏施加独特的限制。

随后,您插入例行/临床,以便处理或更确切地说,由于重复的钥匙,因此插入错误,然后简单地重新分发插入过程。

还不妨指出,除非你特别需要使用国际电子数据系统,即由于与服务器复制或多种数据来源合作,否则,你应考虑使用诸如国际公平贸易协会等替代数据类型。

问题回答




相关问题
How to write this T-SQL WHERE condition?

I ve got two tables: TableA Col1 Col2 TableB Col3 Col4 I want to join them together: SELECT * from TableA join TableB ON (...) Now, in place of ... I need to write an expression ...

Customer and Order Sql Statement

TSQL query to select all records from Customer that has an Order and also select all records from customer that does not have an Order. The table Customer contains a primary key of CustomerID. The ...

Recommended way of querying multiple Versioned tables

Have a win 2003 box with MSSQL 2005 running on it. There is a database which is populated every morning with new/modified SalesOrder made the previous day. The database has several tables: SalesOrder, ...

update duplicate record

I have a table with the following fields Id Name IsPublic i need to write a sql query that updates IsPublic to false where name has a duplicate. Only one of the duplicates should have IsPublic = ...

Define variable to use with IN operator (T-SQL)

I have a Transact-SQL query that uses the IN operator. Something like this: select * from myTable where myColumn in (1,2,3,4) Is there a way to define a variable to hold the entire list "(1,2,3,4)"? ...

Selecting records during recursive stored procedure

I ve got a content management system that contains a hierarchical structure of categories, with sub-categories subject to different ordering options at each level. Currently, that s retrieved by a (...

热门标签