문제

DB2의 다음 SQL Server 문과 동일합니까?

  • 거래를 시작하십시오
  • 거래를 커밋합니다
  • 롤백 거래
도움이 되었습니까?

해결책

보다 여기 예를 들어. 그러나 기본적으로

BEGIN TRANSACTION
COMMIT TRANSACTION
ROLLBACK

다른 팁

답은 실제로 여기에 표시된 것보다 조금 더 복잡합니다. 사실, 트랜잭션은 ANSI 표준화 및 DB2입니다 5월 그들을 지원하십시오.

Z/O의 DB2는 다른 변형과는 매우 다른 짐승이 될 수 있습니다 (Luw, Linux-Unix-Windows, 가장 일반적). 폭망으로 미끄러질 위험이 있으므로 DB2에 대해 이야기하는 아이디어는 거의 무의미합니다. 당신은 IBM 데이터베이스의 특정 변형에 대해 이야기하고 있지만, 하나에서 작동하는 것은 다른 하나에서 완전히 유효하지 않을 수 있습니다. 나는 OP가 사용했던 맛이 Z/OS가 아니라고 가정 할 것입니다. BEGIN TRANSACTION 답이 받아 들여졌습니다.

DB2 Z/OS와의 트랜잭션을 사용하려고 시도하는 사람들을 위해 다음은 다음과 같습니다. 메인 프레임의 DB2에는 명시적인 트랜잭션이 없습니다. 아니요 BEGIN TRANSACTION 또는 다른 비슷한 구성. 거래는 암시 적으로 시작되고 (일반적으로 문서에서 작업 단위라고 함) 명시 적으로 커밋 또는 롤백 (일반적으로 Toad와 같은 Many GUI 도구에는 가끔씩 몰래 들어갈 수있는 자동 커밋 기능이 있습니다).

9.1 Z/OS SQL 참조 매뉴얼 (28 페이지; http://www-01.ibm.com/support/docview.wss?uid=swg27011656#manuals):

"신청 절차가 시작될 때 작업 단위가 시작됩니다. 이전 작업 단위가 신청 프로세스의 끝 이외의 다른 것으로 종료 될 때 작업 단위도 시작됩니다. 커밋 운영으로 작업 단위가 종료됩니다. , 전체 롤백 작업 또는 응용 프로그램 프로세스의 끝. 커밋 또는 롤백 작업은 작업 단위 내에서 이루어진 데이터베이스 변경에만 영향을 미칩니다. "

스크립트를 작성할 때 가장 가까운 것은 저장 포인트를 수동으로 지정하는 것입니다.

이것들은 다음과 같습니다.

 SAVEPOINT A ON ROLLBACK RETAIN CURSORS;

 UPDATE MYTABLE SET MYCOL = 'VAL' WHERE 1;

 ROLLBACK WORK TO SAVEPOINT A;

피상적으로, 이것은 명시 적 거래와 비슷하지만 그렇지 않습니다. 대신, 그들은 실제로 단일 암시 적 트랜잭션 내에서 시점에 불과합니다. 많은 목적을 위해 충분할 수 있지만 개념적 차이를 인식하는 것이 중요합니다.

enter image description hereIDE와 같은 IDE와 같은 IDE 아이디어 (또는 다른 사람)를 사용하는 경우 거래를 설명 할 가능성이 없습니다. 다른 단어에서는 IDE의 콘솔에 '트랜잭션 시작'을 입력 할 수 없습니다.

그러나 '자동 커밋'을 비활성화하고 나중에 다시 활성화 한 다음 콘솔에 '커밋'또는 "롤백 '을 입력 할 수 있습니다.

아이디어에는 '커밋'버튼과 '롤백'버튼도 있습니다. 첨부 된 화면 덤프를 살펴보십시오.

라이센스 : CC-BY-SA ~와 함께 속성
제휴하지 않습니다 StackOverflow
scroll top