/ / Conversione di un'istruzione di aggiornamento SQL in un'istruzione View - mysql, sql, view

Conversione di un'istruzione di aggiornamento SQL in un'istruzione View - mysql, sql, view

Ho una formula di istruzione di aggiornamento per una tabella e la dichiarazione funziona, ma voglio aggiornare la mia tabella automaticamente ogni volta che aggiungo nuovi dati, quindi ho pensato di utilizzare invece una vista.

Questa è la mia dichiarazione di aggiornamento:

followers f left outer join
followers f2
on f2.id = f.id
set f.Growth = f.Growth_Speed/(SELECT AVG(f.Growth_Speed) FROM (SELECT f.Growth_Speed from followers f WHERE f.id <= f.id+1));

Ed ecco la mia dichiarazione di View:

CREATE VIEW `followers_view` AS
select
`followers`.`id` AS `id`,
`followers`.`date` AS `date`,
`followers`.Growth_Speed` AS `Growth_Speed`
From `my_database.followers`;

Vorrei aggiungere quell'aggiornamento come una quarta colonna nella vista ma non sono sicuro di come procedere.

Grazie

risposte:

0 per risposta № 1

Devi impostare a grilletto alla tabella in cui si desidera effettuare l'aggiornamento quando si inseriscono nuovi dati

Il codice dovrebbe essere qualcosa del genere:

CREATE TRIGGER update_table AFTER INSERT ON followers
FOR EACH ROW
BEGIN
followers f left outer join followers f2   on f2.id = f.id
set f.Growth = f.Growth_Speed/(SELECT AVG(f.Growth_Speed) FROM (SELECTf.Growth_Speed from followers f WHERE f.id <= f.id+1));

END

Immagino che follower sia la tabella in cui inserisci i dati e quella in cui vuoi aggiornare.