przedmowa
Ostatnim razem miałem zamiar uporządkować całą podstawową zawartość SQL, ale zauważyłem, że czas ucieka, zanim się zorientowałem. Artykuł jest kontynuowany poniżej.
Tekst
Najpierw stwórzmy tabele, których potrzebujemy
Najpierw wykonajmy polecenie SQL
Kod ten odejmuje saldo 0001 przez 1000 oraz saldo 0002 przez 1000. Ale dodaliśmy ograniczenia przy budowie tabeli i saldo musi być większe lub równe 10.
Wyniki są następujące:
Więc ten błąd wykonania kodu: "Instrukcja UPDATE koliduje z ograniczeniem CHECK "CH_balance". Konflikt występuje w bazie danych "DemoDb" z tabelą "dbo. Bank", kolumna 'saldo'。” 。 Jeśli jedno zdanie jest błędne, to czy drugie zdanie zostało wykonane pomyślnie.
Wyniki zapytań są następujące:
Zobaczymy, że kolejne zadanie SQL nie zawiera błędów, ale nadal nie jest zatwierdzane pomyślnie. Oto, co ujawnimy dla Ciebie.
#Transakcje
Czym jest Transakcja? Ściśle rzecz biorąc, jeśli operacja spełnia atomowość, trwałość, izolację i spójność, to operacja nazywana jest transakcją. Automatyczne przesyłanie transakcji: w SQL Server. Domyślnie każde polecenie SQL jest transakcją. Pokaż Transakcje: Każda transakcja zaczyna się wyraźnie od instrukcji BEGIN TRANSACTION i kończy wyraźnie na poleceniu COMMIT lub ROLLBACK.
Wspomniane wcześniej demo zakończyło się Rollbackiem, więc wykonanie SQL nie działa. Dane nie zostały pomyślnie zmodyfikowane.
W rzeczywistym rozwoju i zastosowaniu zwykle tworzymy warstwę transakcji poza instrukcją non-query, aby zapewnić integralność i spójność danych zgodnie z rzeczywistymi potrzebami. Albo zrób wszystko, albo nie rób wszystkiego.
Są dwie zmienne systemowe, które logują wadliwy SQL. - @@rowcount zwraca liczbę dotkniętych linii @@error zwraca błędne kodowanie
Wykorzystajmy te dwie zmienne systemowe, aby określić, czy w SQL wystąpił błąd i wykonać powyższe dwa polecenia SQL.
#Procedury przechowywane
Znaczenie: Otoczenie procesu wykonanego (który może być złożony) w nazwę, a następnie użycie tej nazwy do wykonania procesu.
> Procedury przechowywane bez parametrów
>Procedury przechowywane z parametrami
>Procedura przechowywana z wartością zwrotną
Spróbuj złapać w bazie danych
Istnieją także procedury przechowywane z domyślnymi parametrami, o których wspomniano w poprzednim artykule o paginacji.
Epilog
Procedury przechowywane są częściej używane w naszych projektach, wiele starych systemów, logika biznesowa jest zapisana w procedurach przechowywanych, a ludzie za nią dbają i po prostu chcą w kilka minut rozbić im głowę psa przed sobą. Ogólnie rzecz biorąc, logika biznesowa jest zapisana w kodzie, ale liczba odczytów danych z bazy danych oraz logika biznesowa są zapisywane w procesie przechowywania. W zeszłym roku bardzo złożony ciąg logiki biznesowej w projekcie firmy został przeniesiony do procesu przechowywania, co zwiększyło szybkość o dziesiątki razy. Oczywiście, szczególne okoliczności są traktowane szczególnie. Konkretne zastosowanie zależy od konkretnej sytuacji.
(Uwaga: Powyższa treść to notatki do nauki roku, jeśli coś jest nieodpowiednie, proszę o poprawkę!) )
|