Jak korzystać z transakcji w SQL
Pamięć bazy danych pomaga wydajnie i wygodnie przechowywać dokumenty biznesowe na serwerze. W miarę rozszerzania i zmiany rekordów można dodawać i usuwać tabele w bazie danych za pomocą Structured Query Language lub SQL. Błędy mogą się zdarzyć, a przypadkowe upuszczenie stolika może kosztować czas i zasoby firmy. Korzystanie z transakcji podczas odpytywania bazy danych zapewnia punkt przywracania do pracy w przypadku pojawienia się problemu. Transakcje grupują serię instrukcji SQL w jednostkę atomową.
1.
Kliknij przycisk Start i wpisz "cmd" w polu wyszukiwania. W oknie poleceń wpisz nazwę programu klienckiego SQL, aby połączyć się z serwerem. W zależności od używanego programu, może być konieczne przekazanie argumentów do programu z wiersza poleceń. Na przykład, jeśli używasz MySQL, wpisz następujące polecenie:
mysql -u root -p mysql
Po wyświetleniu monitu wpisz hasło.
2.
Rozpocznij anonimową transakcję ze słowem kluczowym BEGIN TRANSACTION, jak w poniższym kodzie:
BEGIN TRANSAKCJA; AKTUALIZACJA inwentaryzacja SET koszt = koszt + 1, 25 GDZIE nazwa LIKE 'light%';
Jeśli używasz MySQL, zamień "BEGIN" na "START", tak jak poniżej:
START TRANSAKCJA;
3.
Wykonaj blok kodu jako całość za pomocą słów kluczowych COMMIT WORK lub COMMIT TRANSACTION. Cofnij transakcję za pomocą słów kluczowych ROLLBACK WORK lub ROLLBACK TRANSACTION. Zakończ polecenie średnikiem w następujący sposób:
ROLLBACK WORK;
4.
Rozpocznij nazwaną transakcję, dołączając nazwę zmiennej na końcu instrukcji transakcji, tak jak w poniższym kodzie:
BEGIN TRANSACTION t1; CREATE TABLE książki SELECT id, tytuł Z materiałów eksploatacyjnych; BEGIN TRANSAKCJA t2; DROP TABLE dostawy; TRANSAKCJA ZGODNA t1;
Zatwierdź lub wycofaj transakcję, podając nazwę zmiennej użytej do rozpoczęcia transakcji.
Wskazówki
- Jeśli używasz Microsoft SQL Server, utwórz punkt przywracania w transakcji, dodając instrukcję SAVE TRANSACTION. Na przykład dodaj następujący wiersz do transakcji:
- SAVE TRANSACTION savepoint1;
- Później w swojej pracy użyj instrukcji warunkowych, aby cofnąć lub zastosować zmiany, jak w poniższym przykładzie:
- IF @@ TRANCOUNT = 0
- COMMIT TRANSACTION savepoint1;
- SQL Server automatycznie inkrementuje zmienną "@@ TRANCOUNT", rozpoczynając transakcje nazwane.