SQLite Trigger

SQLite Trigger
La reazione è sempre attivata da alcune azioni eseguite da qualsiasi persona o cosa. SQLite Trigger è metodi di risposta al database che vengono eseguiti/invocati automaticamente ogni volta che si verifica un incidente di database specifico. Pertanto, quando si eseguono determinate query nel database, esiste la possibilità che una query di trigger specifica possa essere eseguita come reazione.

Pertanto, abbiamo deciso di coprire l'argomento dei trigger di sqlite in Ubuntu 20.04 durante l'utilizzo di SQLite C-Library del database SQL. Cominciamo con l'apertura di un terminale di Ubuntu 20.04. Deve essere iniziato con il Ctrl+Alt+T come dobbiamo fare la maggior parte del nostro lavoro al suo interno. All'interno del terminale Shell, è necessario provare le istruzioni di aggiornamento e aggiornamento combinate con il pacchetto APT per rendere aggiornato il sistema, senza bug e aggiornare i suoi pacchetti.

Potresti incontrare il seguente output visualizzato di seguito alla fine del processo di aggiornamento e aggiornamento. Andiamo avanti verso il database SQLite.

Iniziamo il pacchetto clite c di un database all'interno della nostra shell di Ubuntu 20.04 con l'aiuto della parola chiave "sqlite3". La shell di comando per SQLite verrà generata sullo schermo come mostrato di seguito.

I trigger vengono sempre creati come risposta ad alcune query in un database e le query vengono applicate alle tabelle. Non abbiamo tabella nel nostro database in questo momento. Quindi, dobbiamo creare nuovi tavoli. Per applicare i trigger, abbiamo bisogno di almeno 2 tabelle. Pertanto, abbiamo creato un nuovo studente da tavolo con 5 colonne (i.e., Sid, nome, rno, marchi e status.) La colonna Nome e Stato è di tipo di testo mentre i riposo delle colonne sono di tipo int o reale.

Dopo questo, abbiamo creato un nuovo dati di tabella con tre colonne: ID, stato e record. Questo tavolo verrà utilizzato al momento dell'invocazione dei trigger. Abbiamo provato le istruzioni selezionate seguendo il carattere "*" per recuperare i record di entrambe le tabelle appena create (i.e., Studente e dati.) La query per entrambe le tabelle mostra che le tabelle sono vuote.

Crea Student Table (Sid Int Key non Null, Nome Testo non null, rno int non null,
Segna il reale non null, testo di stato non null);
Crea dati della tabella (id int non null, testo di stato non null, testo record);
Seleziona * dallo studente;
Seleziona * da dati;

Inseriamo alcuni record all'interno della tabella degli studenti e vediamo se l'inserimento dei record in questa tabella può influire sull'altra tabella "dati" o no. Pertanto, abbiamo provato l'inserto in istruzione per aggiungere un totale di 5 record all'interno di tutte e 5 le colonne di una tabella (i.e., Id, nome, rno, marchi e stato.) Dopo aver inserito correttamente i 5 record, abbiamo provato l'istruzione selezionata seguita dal personaggio di asterisco "*" per visualizzare tutti i record di una tabella "studente". L'esecuzione di questo comando ha presentato i 5 record nella nostra schermata di shell del database SQLite.

Successivamente, dobbiamo controllare la tabella dei dati se è interessata o no. Quindi, abbiamo provato anche l'istruzione selezionata con il carattere "*" per la tabella dei dati. Abbiamo scoperto che la tabella è ancora vuota e l'inserimento di dati all'interno della tabella degli studenti non influisce ancora sulla tabella "dati". Andiamo avanti verso la creazione di un grilletto.

Inserisci in Student (ID, Nome, RNO, Marks, Status) Valori (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");
Seleziona * dallo studente;
Seleziona * da dati;

Quindi, creeremo un nuovo trigger per consentire all'inserimento di record in una tabella di influire sull'altra. Pertanto, creeremo un trigger di inserto sulla tabella degli studenti, in modo che l'uso dell'istruzione di trigger di creazione sulla shell SQLite sia seguita dal nome di un trigger da creare (i.e., "I Registra").

Dopo il nome di un trigger, è necessario utilizzare la parola chiave "dopo" insieme al tipo di query per il quale verrà eseguito questo trigger (i.e., Inserire, eliminare, aggiornare, ecc.) Quindi, abbiamo usato la parola chiave "After Insert" per rendere questo trigger eseguito dopo l'esecuzione del comando di inserimento seguito dalla clausola "on" insieme al nome di una tabella su cui verrà applicato questo trigger (i.e., Sul tavolo degli studenti.) La condizione del trigger inizierà con "Inizia" e si ferma con la parola chiave "End".

All'interno di entrambe queste parole chiave, scriveremo la nostra dichiarazione di trigger che verrà invocata dopo l'esecuzione di una specifica query di inserto. Il trigger contiene una query di inserimento per aggiungere la voce all'interno della tabella dei dati in caso di esecuzione di istruzioni di inserimento per la tabella degli studenti. La colonna "RID" e "Stato" della tabella dei dati utilizzerà i valori dalla tabella degli studenti secondo la parola chiave "nuovo" seguita dai nomi della colonna di una tabella degli studenti (i.e. nuovo.Id, nuovo.STATO.) Il record di colonna della tabella dei dati verrà assegnato con il valore "record inserito" come mostrato.

Crea trigger i_log dopo l'inserimento sullo studente
INIZIO
Inserisci i valori di dati (RID, STATO, Record) (nuovo.Id, nuovo.Stato, "record inserito");
FINE;

Il trigger "i_log" è stato creato correttamente nel database SQLite ed è pronto per l'uso. Insereremo alcuni record all'interno della tabella degli studenti per far sì che il trigger venga eseguito automaticamente all'uso dell'inserto nell'istruzione. Dopo l'esecuzione del comando di inserimento, abbiamo provato la query selezionata per vedere i record della tabella degli studenti. Entrambi i nuovi record sono stati aggiunti a questa tabella. Dopo questo, abbiamo provato a recuperare i record di una tabella di dati utilizzando l'istruzione Seleziona. Questa volta, la tabella dei dati mostra anche 2 voci che vengono aggiunte dal trigger automatico "I_LOG" sulla query di inserimento per la tabella degli studenti.

Inserisci in Student (ID, Nome, RNO, Marks, Status) Valori (6, "Bryan", 256, 78, "Pass"),
(7, "Taylor", 441, 64, "Pass");
Seleziona * dallo studente;
Seleziona * da dati;

Conclusione:

Questo è stato sull'uso dei trigger per eseguire una query specifica sull'esecuzione di un'altra query nel database SQLite. In questo articolo abbiamo eseguito il trigger di istruzioni per inserire. Tutti i passaggi sono chiaramente descritti in dettaglio.