2014-09-18 4 views
0

데이터베이스 클래스 프로젝트에서 작업 중입니다. 내가 PostgreSQL의 Write-ahead-logging README를 읽고있다, 내가 그 명령을 보지 못했다, 같은 SQL과 같은 몇 가지 명령은 SQL 표준에서 여러 SQL 명령에 대한 질문

BEGIN 
COMMIT 
ROLLBACK 
SAVEPOINT 
ROLLBACK 
RELEASE 

명령 언급했다. 나는 그것으로 혼란 스럽다. 이러한 명령과 표준 "SELECT"의 차이점은 무엇입니까? 누구든지 그 명령에 대해 더 자세히 말해 줄 수 있습니까? 이러한 명령을 표준 SQL과 동일한 방식으로 사용할 수 있습니까?

+0

거래에 대해 알아야합니다. – duffymo

+0

"표준 SELECT"와 "INSERT"또는 "DELETE"또는 "UPDATE"사이에는 동일한 차이가 있습니다. 이는 완전히 다른 것입니다. 언급 한 모든 SQL 키워드가 관련되어 있으므로 SQL 자습서를 찾고 트랜잭션 관련 절을 읽으십시오. –

+0

모든 명령 **은 ** SQL 표준의 일부입니다. Postgres (btw : * not * PostGre) 매뉴얼을 확인하십시오. 각 명령에는 명령이 표준을 준수하는지 여부를 문서화하는 끝에 섹션이 있습니다. –

답변

0

ANSI SQL 표준 [http://www.contrib.andrew.cmu.edu/~shadow/sql/sql1992.txt]]도 친구이므로이 키워드를 찾을 수 있습니다.

일반적으로 이러한 모든 키워드는 플랫폼간에 유사하게 작동하지만 기능, 성능 또는 사용법의 미묘한 차이를 유의하십시오.

예 : SAVEPOPINT는 다른 플랫폼에서도 비슷한 의미를 가지므로 (구현이나 컨텍스트가 다를 수 있음) 구체적인 내용은 플랫폼 문서를 참조해야합니다.

이 경우 Postgres 9.1 매뉴얼 [즐겨 찾기에 등록한 사람] ROLLBACK 및 RELEASE 키워드는 다른 수정 자와 함께 트랜잭션 내에서 SAVEPOINT에 적용됩니다.

OTOH : T-SQL (MS-SQL Server)은 SAVEPOINT [http://msdn.microsoft.com/en-us/library/ms188378.aspx]]에서 작업 할 때 SAVE | ROLLBACK TRANSACTION이 필요합니다.

희망 하시겠습니까?