[英]What is the equivalent of timestamp/rowversion (SQL Server) with PostgreSQL
有人可以幫我找到與PostgreSQL等效的Timestamp / Rowversion(SQL Server)嗎?
我在Mono上使用NHibernate(UNIX)。
我認為Timestamp(PostgreSQL)相當於Datetime(SQL Server) - 它不是我想要的 。
編輯1:對於那些不知道SQL Server中什么是Timestamp / Rowversion的人: http : //msdn.microsoft.com/en-us/library/ms182776.aspx (它主要用於樂觀並發)
請參閱PostgreSQL文檔中的系統列部分。 特別是, xmin
可能就是你要找的東西。
但要小心使用任何系統列。 根據定義,它們是特定於實現的,其中一些細節可能會隨着未來版本而變化。
如果我理解正確rowversion與serial相同? 如果不是 - 你必須使用觸發器制作自己的。
您可以手動創建它:
錯過的關鍵是每次對行進行更新時都會更改rowversion類型,即使最終結果是行,也不會更改行。
CREATE TABLE MyTest (myKey int PRIMARY KEY
,myValue int, RV rowversion);
GO
INSERT INTO MyTest (myKey, myValue) VALUES (1, 0);
GO
INSERT INTO MyTest (myKey, myValue) VALUES (2, 0);
GO
select * from MyTest
Go
update MyTest set myValue = 0
go
/* row version will have changed */
select * from MyTest
Go
我找到的唯一選擇是創建更新觸發器。
聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.