2014-09-18 174 views
0

我正在處理我的數據庫類項目。我讀了PostgreSQL的Write-ahead-logging README,它提到的幾個命令,如SQL命令關於幾個SQL命令的問題

BEGIN 
COMMIT 
ROLLBACK 
SAVEPOINT 
ROLLBACK 
RELEASE 

在SQL標準,我沒有看到這些命令。我很困惑。這些命令和標準的「SELECT」有什麼區別?誰能告訴我更多關於這些命令的信息?這些命令可以像標準SQL一樣使用嗎?

+0

需要了解交易。 – duffymo 2014-09-18 20:32:42

+0

與「標準SELECT」和「INSERT」或「DELETE」或「UPDATE」之間的區別相同 - 它們完全不同。請查找SQL教程並閱讀有關事務的部分,因爲您提到的所有SQL關鍵字都與它們有關。 – 2014-09-18 20:34:51

+0

所有這些命令都是**標準的一部分。檢查Postgres(btw:* not * PostGre)手冊。每個命令在最後都有一個部分,用於說明命令是否符合標準。 – 2014-09-18 21:08:52

回答

0

ANSI SQL標準[http://www.contrib.andrew.cmu.edu/~shadow/sql/sql1992.txt]也是你的朋友,你可以在這裏找到這些關鍵字。

通常,所有這些關鍵字在不同平臺上的行爲類似,但請注意其功能,性能或使用方面的細微差異。

例如:SAVEPOPINT在不同的平臺上具有相似的含義(雖然可能有不同的實現或上下文),因此您需要參考平臺文檔以瞭解具體內容。

在這種情況下,Postgres 9.1手冊[http://www.postgresql.org/docs/9.1/](我已收藏書籤)ROLLBACK和RELEASE關鍵字與其他修飾符一起用於事務內的SAVEPOINT。 OTOH:在SAVEPOINT [http://msdn.microsoft.com/en-us/library/ms188378.aspx]上運行時,T-SQL(MS-SQL Server)需要SAVE | ROLLBACK TRANSACTION。

希望有幫助!