Skip to content

Jak krok po kroku tworzyć i używać wyzwalacza lub wyzwalacza w MySQL

25 de grudzień de 2022

Jeśli jesteś zainteresowany poznaniem systemu zarządzania bazą danych MySQL, trafiłeś we właściwy post. Później porozmawiamy szczegółowo o programowanie wyzwalaczy. Jest to już zaawansowany materiał, dlatego jeśli jesteś nowicjuszem, lektura tego wpisu będzie dla Ciebie interesująca, ponieważ wiele się nauczysz.

Podstawowa koncepcja wyzwalacza

Najpierw idziemy z » Definicja Trigger. Jest to obiekt w bazie danych, który wykonuje akcję, gdy w bazie danych wystąpi zdarzenie. Jako przykład mamy następującą sytuację: kiedy bilet do kina jest sprzedawany, dostępne miejsce musi zostać zdyskontowane. Aby to zrobić, musimy wprowadzić następujący ogólny kod:

STWÓRZ WYZWALACZ nazwa wyzwalacza.

{PRZED | DESPUE DE}

// Będzie działać przed lub po imprezie

{WSTAW | AKTUALIZACJA | USUNĄĆ }

//czynność, która uruchomi spust

ON nazwa tabeli

//nazwa tabeli, która miała wpływ na zdarzenie

DLA KAŻDEGO RZĘDU

Instrukcja SQL do wykonania później

Jak tworzyć bazy danych?

Teraz stworzymy wspomniany wcześniej przykład sprzedaży biletów w kinie. W tym celu musimy najlepiej użyj phpmyadminn. Ale możesz także zainstalować dowolne oprogramowanie obsługujące procedury składowane i wyzwalacze. Aby utworzyć bazę danych, musimy wykonać następujące czynności:

UTWÓRZ BAZA DANYCH `sprzedaż`

Teraz musimy utworzyć 2 tabele. Najpierw przystępujemy do tworzenia tabeli do przechowywania sprzedane bilety następująco

UTWÓRZ TABELĘ „dane wejściowe”.
`id` int(10) NOT NULL AUTO_INCREMENT,
`identyfikacja` int(11) NIE NULL,
`nroticket` int(11) NIE NULL,
KLUCZ PODSTAWOWY(`identyfikator`)
ENGINE=MyISAM DEFAULT CHARSET=latin1 AUTO_INCREMENT=1;

Następnie musimy zbudować tabelę do przechowywania dostępności biletów do kina na określone przedstawienie, takie jak to:

UTWÓRZ TABELĘ, JEŚLI NIE ISTNIEJE „zapas”.
`identyfikacja` int(10) NIE NULL,
`bieżący stan` int(10) NIE NULL
SILNIK=MYISAM DOMYŚLNY CHARSET=latin1;

UTWÓRZ TABELĘ „zdarzenia”.
`idevent` int(10) NOT NULL AUTO_INCREMENT,
`zdarzenie` int(11) varchar(200),
`data` data NIE NULL,
KLUCZ PODSTAWOWY („idevent”)
ENGINE=MyISAM DEFAULT CHARSET=latin1 AUTO_INCREMENT=1;

Następnie musisz zamknąć spust jako zapytanie SQL. W tym celu zalecamy skorzystanie z bezpłatnego oprogramowania o nazwie „HEIDISSQL”.

Z kolei wyrok NOWA.nazwa_kolumny pokazuje nam, którego pola operacji wyzwalacza użyjemy w momencie wykonania. W tym przypadku tak będzie pomysłale jeśli jest ich więcej, od teraz zawsze musimy używać słowa NOWY.

UTWÓRZ WYZWALACZ `update_stock` PO WSTAWIENIU NA `wejściach`
DLA KAŻDEGO
wiersz
UPDATE stock SET stockactual=stockactual -1 WHERE eventid = NEW.eventid

Potem musimy biec instrukcja SQL i zobaczymy, że wyzwalacz został pomyślnie utworzony.

Jako przykład wpiszemy do tabeli zapas 500 biletów do kina dostępnych na seans. W takim przypadku nie będzie odpowiedzi ze strony wyzwalacza, ponieważ został on przygotowany do wykonania gdy nastąpi wstawienie w tabeli wejściowej.

WSTAW DO `sprzedaży`.`zapas`(`idevent` ,`bieżący`) WARTOŚCI (’1′, '500′);

kroki używają wyzwalacza

Jak możemy przetestować wyzwalacze?

W tej części wpisu pokażemy, jak przetestować programowanie wyzwalaczy. W tym celu musimy założyć, że sprzedaliśmy bilet numer 100 na funkcję 1, a następnie wstawić dokonaną sprzedaż i pokazać bazę „biletów”.

WSTAW DO wejść (idevent, input#) WARTOŚCI ( '1′, '100′);

Teraz musimy przeanalizować, co wydarzyło się w odpowiedniej tabeli Zbiory. W tym przypadku w magazynie dostępnych jest teraz 499 biletów. Dzieje się tak, ponieważ wstawka do tabeli zgłoszeń uruchomiła się, a następnie wykonała wywołany wyzwalacz aktualizacja_stocku.

Jeśli skorzystamy z tej metody, możemy być pewni, że będzie zapewniona przejrzystość w zakresie wykonania dla użytkownik i programista.

Kolejny przykład rezygnacji z subskrypcji towar ze sklepu jest następny

UTWÓRZ WYZWALACZ `Delete_products` PO USUNIĘCIU NA `products`
DLA KAŻDEGO
USUŃ Z magazynu GDZIE productid=NEW.productid
wiersz

Pamiętaj, że tworzenie baza danych jest niezbędnado przenoszenia i przechowywania prawie wszystkich informacji w odpowiedni i strukturalny sposób, jest tym, co kryje się za każdą fakturą, sprzedażą, zakupem, realizowanym przez komputer, możesz łatwo zainstalować MysQl na swoim komputerze.

W ten sposób Wyzwalacze (wyzwalacze / wyzwalacze) są ważną częścią wspomniana baza danych, zdolne do zapobiegania błędom w nim i uruchamiane automatycznie w określonym czasie. Ponadto synchronizują tabele i modyfikują wartości widoku.

Voila, to wszystko! Dzięki tym informacjom będziesz mógł znacznie poszerzyć swoją wiedzę na temat programowanie wyzwalaczy. Do zobaczenia wkrótce w kolejnym poście!

dołącz do naszego kanału telegram