Come creare un trigger o un trigger?

Se sei interessato a conoscere il sistema di gestione del database MySQL , hai raggiunto il posto giusto. Più avanti ti parleremo in dettaglio della programmazione di Trigger . Questa è già una questione avanzata, ecco perché se sei solo un principiante, troverai interessante la lettura di questo post, perché imparerai molto.

Concetto di trigger di base

 Innanzitutto andiamo con la definizione di Trigger. Questo è un oggetto all’interno di un database che esegue un’azione quando si verifica un evento al suo interno. A titolo di esempio abbiamo quanto segue: quando viene venduto un biglietto per il cinema, un posto disponibile deve essere scontato. Per fare ciò dobbiamo inserire il seguente codice generico:

CREARE il nombretrigger di TRIGGER .

{PRIMA | DOPO}

// Verrà eseguito prima o dopo l’evento

{INSERIRE | AGGIORNAMENTO | DELETE}

// azione che attiverà il trigger

ON tablename

// nome della tabella che ha interessato l’evento

PER OGNI FILA

Istruzione SQL che verrà eseguita in seguito

Come creare un trigger o un trigger? 1

Come creare database?

Ora creeremo il suddetto esempio di vendita di biglietti per il cinema. Per questo dobbiamo usare phpmyadminn preferibilmente. Ma serve anche qualsiasi software compatibile con le procedure e i trigger memorizzati. Per creare il database, dobbiamo fare quanto segue:

CREA DATABASE `vendite`

Ora dobbiamo creare 2 tabelle

Innanzitutto, procediamo a creare la tabella per memorizzare i biglietti venduti come segue

CREATE TABLE `
entry` ( ` id` int (10) NOT NULL AUTO_INCREMENT,
`idevento` int (11) NOT NULL,
` nroticket` int (11) NOT NULL,
PRIMARY KEY (`id`)
) ENGINE = MyISAM DEFAULT CHARSET = latin1 AUTO_INCREMENT = 1;

Quindi, dobbiamo preparare la tabella per salvare la disponibilità dei biglietti per il cinema per una funzione specifica in questo modo:

CREA TABELLA SE NON ESISTE `stock` (
` idevento` int (10) NOT NULL,
`stockactual` int (10) NOT NULL
) MOTORE = CARICO DEFAULT MyISAM = latino1;

CREATE TABLE `events` (
` idevento` int (10) NOT NULL AUTO_INCREMENT,
`event` int (11) varchar (200),
` date` date NOT NULL,
PRIMARY KEY (`idevento`)
) ENGINE = MyISAM DEFAULT CHARSET = latin1 AUTO_INCREMENT = 1;

Successivamente è necessario chiudere il trigger come una query SQL. Per fare ciò ti consigliamo di utilizzare il software gratuito chiamato “HEIDISQL”.

A sua volta, l’istruzione NEW.column_name ci mostra quale campo dell’operazione trigger useremo al momento dell’esecuzione. In questo caso sarà idevento , ma se ce ne fossero altri, dobbiamo sempre usare la parola NUOVO in poi.

CREA TRIGGER ` update_stock` DOPO INSERIRE su` voci` PER OGNI AGGIORNAMENTO DELLA FILA stock SET SET stock corrente = stock corrente -1 DOVE idevento = NEW.idevento


Successivamente, dobbiamo eseguire l’istruzione SQL e vedremo che il trigger è stato creato correttamente.

Ad esempio, inseriremo la tabella di stock di 500 biglietti per film disponibili per una funzione. In questo caso non ci sarà alcuna risposta di trigger, poiché è stata preparata per l’esecuzione quando si verifica un inserimento nella tabella di input.

INSERIRE VALORI `sales“stock` (` idevento`, `current stock`) (‘1’, ‘500’);

Come creare un trigger o un trigger? 2

Come possiamo testare i trigger?

In questa parte del post ti mostreremo come testare la programmazione dei trigger . Per fare ciò, dobbiamo supporre che vendiamo la voce numero 100 per la funzione 1 e quindi inseriamo la vendita effettuata nel database “voci”.

INSERT INTO biglietti (idevento, nroentrada) VALORI (‘1’, ‘100’);

Ora, dobbiamo analizzare cosa è successo nella rispettiva tabella delle scorte . In questo caso, lo stock ora ha 499 biglietti disponibili. Questo perché l’inserimento nella tabella di biglietti sparato e poi eseguito la chiamata grilletto actualiza_stock .

Se utilizziamo questo metodo possiamo essere sicuri che ci sarà trasparenza per quanto riguarda l’esecuzione per l’utente e il programmatore.

Un altro esempio per eliminare un articolo da un magazzino è il seguente

CREATE TRIGGER “ productos` Baja_productos` DOPO DELETE ON PER OGNI DELETE FROM WHERE ProductID = NEW.idproducto magazzino ROW 


Pronto, questo è stato tutto! Con queste informazioni puoi ampliare le tue conoscenze molto di più riguardo alla programmazione di Trigger . A presto nel prossimo post!

 

Potrebbe interessarti

Lascia un commento