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′);
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!