我正在处理我的数据库类项目。我读了PostgreSQL的Write-ahead-logging
README,它提到的几个命令,如SQL命令关于几个SQL命令的问题
BEGIN
COMMIT
ROLLBACK
SAVEPOINT
ROLLBACK
RELEASE
在SQL标准,我没有看到这些命令。我很困惑。这些命令和标准的“SELECT”有什么区别?谁能告诉我更多关于这些命令的信息?这些命令可以像标准SQL一样使用吗?
我正在处理我的数据库类项目。我读了PostgreSQL的Write-ahead-logging
README,它提到的几个命令,如SQL命令关于几个SQL命令的问题
BEGIN
COMMIT
ROLLBACK
SAVEPOINT
ROLLBACK
RELEASE
在SQL标准,我没有看到这些命令。我很困惑。这些命令和标准的“SELECT”有什么区别?谁能告诉我更多关于这些命令的信息?这些命令可以像标准SQL一样使用吗?
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。
希望有帮助!
需要了解交易。 – duffymo 2014-09-18 20:32:42
与“标准SELECT”和“INSERT”或“DELETE”或“UPDATE”之间的区别相同 - 它们完全不同。请查找SQL教程并阅读有关事务的部分,因为您提到的所有SQL关键字都与它们有关。 – 2014-09-18 20:34:51
所有这些命令都是**标准的一部分。检查Postgres(btw:* not * PostGre)手册。每个命令在最后都有一个部分,用于说明命令是否符合标准。 – 2014-09-18 21:08:52