데이터베이스 의 사물 처리

2295 단어 sql일 하 다
데이터베이스
데이터 뱅 크 의 업 데 이 트 는 일반적으로 객관 세계 에서 발생 하 는 사건 으로 인해 발생 한다.데이터베이스 내용 의 일 치 를 확보 하기 위해 서 는 데이터베이스 의 한 조 의 조작 을 하나의 전체 로 진행 해 야 합 니 다. 모두 성공 적 으로 완성 되 거나 모두 실패 하여 종료 해 야 합 니 다.만약 에 고장 이나 다른 원인 으로 인해 한 조 의 작업 이 완성 되 고 완성 되 지 않 으 면 반드시 데이터 베이스 중의 데이터 가 일치 하지 않 아 데이터 뱅 크 의 완전 성 을 파괴 할 것 이다.따라서 업데이트 작업 시퀀스 는 DBMS 가 실 행 될 때 '다 하거나 다 하지 않 거나' 전체 로 나타 나 야 한다.
DBMS 가 상기 기능 을 실현 하도록 도와 주 는 사무 처리 체 제 를 제공 했다.
 
사무 처리
트 랜 잭 션 (TRANSACTION) 의 모든 문 구 는 하나 이상 의 SQL 구문 서열 이 결합 하여 형 성 된 논리 처리 장치 입 니 다.사무 처리 중 문장 은 모두 전체 임 무 를 완성 하 는 일부분 이다.
4. 567915. 모든 문 구 를 조직 하면 특정한 임 무 를 완성 할 수 있다.DBMS 는 사무처 리 중인 문 구 를 처리 할 때 아래 의 약정 에 따라 진행 되 는데, 이 는 '사무처 리 중인 모든 문 구 는 하나의 원자 작업 단위 로 서 모든 문 구 는 성공 적 으로 실 행 될 수도 있 고, 어떤 문구 도 실행 되 지 않 을 수도 있다' 는 것 이다.DBMS 는 이런 약속 을 완수 하 는 일 을 맡 고 있 으 며, 사무 처리 중 에 프로그램 이 비정상적 으로 종료 되 거나 하드웨어 가 고장 나 는 등 각종 의외 의 상황 에서 도 마찬가지다.어떤 의외 의 상황 에서 도 DBMS 는 시스템 이 정상 화 된 후 데이터베이스 내용 이 '일부 사무 처리 중 문구 가 완 료 된 경우' 가 발생 하지 않도록 하 는 것 을 책임 진다.
  
sql 언어
sql 언어 는 사무 처리 에 두 가지 중요 한 문 구 를 제공 합 니 다. 이것 은 COMMIT 와 ROLLBACK 문 입 니 다.그들의 사용 형식 은:
  COMMIT WORK
  ROLLBACK WORK
COMMIT 문 구 는 DMBS 에 게 사무 처리 중의 문 구 를 성공 적 으로 실 행 했 음 을 알려 주 는 데 사용 된다.성공 적 으로 실 행 된 후 데이터베이스 내용 은 완전 할 것 입 니 다.한편, ROLLBACK 문 구 는 DBMS 에 게 사무 처리 중의 문 구 를 성공 적 으로 실행 할 수 없다 는 것 을 알려 주 는 데 사용 된다.이 경우 DBMS 는 이번 사무처 리 기간 데이터베이스 에 대한 수정 을 복구 해 이번 사무처 리 이전 상태 로 복원 한다.
QSqlDatabase::database().transaction();
QSqlQuery query;
query.exec("SELECT id FROM employee WHERE name = 'Torild Halvorsen'");
if (query.next())
{
int employeeId = query.value(0).toInt();
query.exec("INSERT INTO project (id, name, ownerid) "
"VALUES (201, 'Manhattan Project', "
+ QString::number(employeeId) + ")");
}
QSqlDatabase::database().commit();
 
데이터베이스 엔진 이 트 랜 잭 션 처 리 를 지원 하면 함수 QSqlDriver:: hasFeature (QSqlDriver:: Transactions) 가 진짜 로 돌아 갑 니 다.
QSqlDatabase:: transaction () 을 호출 하여 트 랜 잭 션 처 리 를 초기 화 할 수 있 습 니 다.그 후에 당신 이 이 일 을 처리 하고 싶 은 일 을 수행 하 세 요.
QSqlDatabase:: commt () 를 실행 하여 트 랜 잭 션 처리 나 QSqlDatabase:: rollback () 을 제출 하여 트 랜 잭 션 처 리 를 취소 합 니 다.

좋은 웹페이지 즐겨찾기