Sqlite wyzwalacze

Sqlite wyzwalacze
Reakcja jest zawsze wywoływana przez jakąś akcję wykonaną przez jakąkolwiek osobę lub rzecz. SQLITE TRIGGERS to metody odpowiedzi bazy danych, które są wykonywane/wywoływane automatycznie za każdym razem, gdy nastąpi konkretny incydent z bazą danych. Tak więc, gdy wykonujesz pewne zapytania w bazie danych, istnieje możliwość, że określone zapytanie wyzwalające może zostać wykonane jako reakcja.

Dlatego postanowiliśmy omówić temat wyzwalaczy SQLite w Ubuntu 20.04 podczas korzystania z SQLite C-Library w bazie danych SQL. Zacznijmy od otwarcia terminalu Ubuntu 20.04. Należy zacząć od Ctrl+Alt+T, ponieważ musimy wykonać większość naszej pracy. W terminalu powłoki musisz wypróbować instrukcje aktualizacji i aktualizacji w połączeniu z pakietem APT, aby Twój system był aktualny, wolny od błędów i zaktualizować jego pakiety.

Możesz spotkać następujące dane wyjściowe wyświetlone poniżej na końcu procesu aktualizacji i aktualizacji. Idźmy naprzód w kierunku bazy danych SQLITE.

Rozpocznijmy sqlite C-pak bazy danych w naszej powładzie Ubuntu 20.04 Za pomocą słowa kluczowego „SQLite3”. Powłoka poleceń dla SQLite zostanie wygenerowana na ekranie, jak pokazano poniżej.

Wyzwalacze są zawsze tworzone w odpowiedzi na niektóre zapytania w bazie danych, a zapytania są stosowane do tabel. W tej chwili nie mamy tabeli w naszej bazie danych. Musimy więc tworzyć nowe tabele. Aby zastosować wyzwalacze, potrzebujemy co najmniej 2 tabel. Dlatego tworzyliśmy nowy student tabeli z 5 kolumnami (i.mi., Sid, nazwa, rno, znaki i status.) Kolumna nazwy i statusu jest typu tekstu, podczas gdy reszty kolumn są typu int lub real typu.

Następnie tworzymy nowe dane tabeli z trzema kolumnami: id, status i rekord. Ta tabela zostanie wykorzystana w momencie wywoływania wyzwalaczy. Próbowaliśmy wybranej instrukcji po postaci „*”, aby pobrać rekordy obu nowo utworzonych tabel (i.mi., Student i dane.) Zapytanie dla obu tabel pokazuje, że tabele są puste.

Utwórz tabelę Student (SID Int Primary Key Not Null, Name Text Not Null, Rno Int Not Null,
Znaki Real, a nie NULL, Tekst statusu nie null);
Utwórz dane tabeli (ID INT NULL, STATUS TEKST NOT NULL, RECORD TEXT);
Wybierz * od studenta;
Wybierz * z danych;

Włóżmy niektóre rekordy w tabeli studenckiej i sprawdź, czy wstawienie rekordów w tej tabeli może wpłynąć na drugą tabelę „Dane”, czy nie. W ten sposób próbowaliśmy wstawka do instrukcji, aby dodać łącznie 5 rekordów we wszystkich 5 kolumnach tabeli (i.mi., Id, nazwa, RNO, znaki i status.) Po pomyślnym włożeniu 5 rekordów wypróbowaliśmy wybraną instrukcję, a następnie znak gwiazdkowy „*”, aby wyświetlić wszystkie zapisy tabeli „Student”. Wykonanie tego polecenia przedstawiono 5 rekordów na naszym ekranie powłoki bazy danych SQLITE.

Następnie musimy sprawdzić tabelę danych, jeśli ma to wpływ. Wypróbowaliśmy więc instrukcję SELECT z znakiem „*” również tabeli danych. Odkryliśmy, że tabela jest nadal pusta, a wstawienie danych w tabeli uczniów nie wpływa jeszcze na tabelę „danych”. Idźmy naprzód w kierunku stworzenia spustu.

Wstaw do studenta (ID, Nazwa, RNO, Marks, Status) Wartości (1, „Tim”, 344, 45, „Pass”),
(2, „EMA”, 355, 98, „Pass”), (3, „Julia”, 349, 22, „Fail”), (4, „John”, 335, 47, „Pass”),
(5, „Paul”, 250, 25, „Fail”);
Wybierz * od studenta;
Wybierz * z danych;

Będziemy więc stworzyć nowy spust, aby wstawienie rekordów w jednej tabeli wpłynęło na drugą. W ten sposób będziemy tworzyć wyzwalacz wstawki w tabeli studenckiej, aby po użyciu instrukcji Utwórz instrukcję wyzwalacza w skorupce SQLite powinien nastąpić nazwa utworzenia wyzwalacza (i.mi., „I log”).

Po nazwie spustu musisz użyć słowa kluczowego „po” wraz z typem zapytania, dla którego ten spust zostanie wykonany (i.mi., Wstaw, usuń, aktualizuj itp.) Tak więc używamy słowa kluczowego „po wstawie”, aby ten spust wykonał po wykonaniu klauzuli „ON” wraz z nazwą tabeli, w której zostanie zastosowany ten wyzwalacz (i.mi., na stole studenckim.) Warunek wyzwalacza rozpocznie się od „rozpocznij” i zatrzyma się z słowem kluczowym „koniec”.

W obu tych słowach kluczowych napiszemy naszą instrukcję Trigger, która zostanie wywołana po wykonaniu konkretnego zapytania do wkładki. Wyzwalacz zawiera zapytanie do wstawki, aby dodać wpis w tabeli danych po wykonywaniu instrukcji wstawienia dla tabeli uczniów. Kolumna „Rid” i „Status” tabeli danych będzie używać wartości z tabeli studenckiej zgodnie ze słowem kluczowym „nowe”, a następnie nazwy kolumn tabeli uczniów (i.mi. nowy.Id, nowy.STATUS.) Rekord kolumny tabeli danych zostanie przypisany do wartości „Wprowadzona rekord”, jak pokazano.

Utwórz wyzwalacz i_log po wstawieniu studenta
ZACZYNAĆ
Wstaw dane (RID, Status, Record) Wartości (nowe.Id, nowy.Status, „Wstaw wstawki”);
KONIEC;

Spust „I_LOG” został pomyślnie utworzony w bazie danych SQLITE i jest gotowy do użycia. Będziemy wstawić niektóre rekordy w tabeli studenckiej, aby spust został wykonany automatycznie po użyciu wkładki do instrukcji. Po wykonaniu polecenia wstawiania wypróbowaliśmy zapytanie, aby zobaczyć zapisy tabeli uczniów. Oba nowe rekordy zostały dodane do tej tabeli. Następnie próbowaliśmy pobrać rekordy tabeli danych za pomocą instrukcji Wybierz. Tym razem tabela danych pokazuje również 2 wpisy, które są dodawane przez automatyczny wyzwalacz „I_LOG” na zapytaniu Insert dla tabeli uczniów.

Wstaw do studenta (ID, Nazwa, RNO, Marks, Status) Wartości (6, „Bryan”, 256, 78, „Pass”),
(7, „Taylor”, 441, 64, „Pass”);
Wybierz * od studenta;
Wybierz * z danych;

Wniosek:

Było to używane przez wyzwalaczy do wykonania określonego zapytania podczas wykonywania innego zapytania w bazie danych SQLITE. W tym artykule wykonaliśmy spust instrukcji wstawki. Wszystkie kroki są wyraźnie szczegółowo opisane.