테이블 업데이트 용 SQL에 대한 다중 호출을 사용하여 SQL 쿼리를 응용 프로그램에 포함 할 때 SQL BEGIN TRANSACTION, COMMIT TRANSACTION, ROLLBACK TRANSACTION을 사용할 수 있습니까?여러 SQL 업데이트에 COMMIT 및 ROLLBACK을 사용하는 Delphi 응용 프로그램
Q.SQL.ADD(<UPDATE A RECORD>);
Q.ExecSQL;
Q.Close;
Q.SQL.Clear;
Q.SQL.ADD(<Select Some Data>);
Q.Open;
일부 변수
Q.Close;
Q.SQL.Clear;
Q.SQL.ADD(<UPDATE A RECORD>);
Q.ExecSQL;
두 번째 업데이트가 나는 첫 번째 트랜잭션을 롤백하려면 실패 할 경우 내가 뭘하고 싶은 것은 설정 : 예를 들어, 나는 다음과 같은 코드가 있습니다.
BEGIN, COMMIT, ROLLBACK에 고유 한 표기법을 설정하여 커밋되거나 롤백되는 항목을 지정하는 것이 가능합니다.
즉, 첫 번째 업데이트 TRANSACTION_A 를 BEGIN 지정하기 전에 다음 마지막 업데이트 후난 그 말이 희망 TRANSACTION_A에게 COMMIT 지정합니다. SQL 저장 프로 시저에서이 작업을 수행했다면 프로 시저의 시작과 끝 부분에서이를 지정할 수 있지만로드가 많은 SQL에서 처리 블록과 교착 상태로 인해 코드를 관리 가능한 청크로 분할해야했습니다 섬기는 사람.
안녕하세요, Matt! StackOverflow에 오신 것을 환영합니다. 귀하의 게시물을 편집하여 코드를 강조 표시했습니다. 특수 서식이 필요하므로 제대로 형식이 지정됩니다. 코드 샘플이 포함 된 다른 질문을해야하는 경우 완료되면 코드를 강조 표시하고 1과 0으로 모두 버튼을 누릅니다. :) –
안녕 메이슨 고마워요! :) – Matt