SQL e Excel by Ferrero Marco

SQL e Excel by Ferrero Marco

autore:Ferrero, Marco
La lingua: ita
Format: epub
ISBN: 978-88-503-1785-1
editore: Feltrinelli Editore
pubblicato: 2016-09-20T00:00:00+00:00


Figura 4.12 Il risultato delle divisioni arrotondato con la funzione ROUND.

Nell’ipotesi che presto o tardi a tutti i dipendenti possa capitare di dover lavorare per un lungo periodo nel Regno Unito, trasformiamo la colonna BonusPound usata fin qui come alias in una colonna effettiva della tabella Dipendenti.

Creiamo in primo luogo una nuova colonna nella tabella Dipendenti di MySQL con questo enunciato:

ALTER TABLE Dipendenti

ADD BonusPound DECIMAL(6,2) NOT NULL

Verifichiamo poi, con:

DESCRIBE Dipendenti

che la tabella Dipendenti contenga effettivamente una colonna BonusPound di tipo

DECIMAL (6,2).

Eseguiamo successivamente questo enunciato:

UPDATE Dipendenti

SET BonusPound=ROUND(Bonus*0.76,2)

Formulato in questo modo, cioè senza una clausola WHERE, il comando UPDATE esegue l’operazione indicata dalla clausola SET su tutti i record. Questa clausola può contenere un valore assoluto (per esempio una stringa o un numero) oppure una espressione (come in questo caso).

La presenza dell’espressione:

BonusPound=ROUND(Bonus*0.76,2)

fa sì che il valore da immettere nel campo BonusPound venga ricalcolato per ogni singolo record in funzione del valore del campo Bonus dello stesso record.

Possiamo controllare il risultato eseguendo l’enunciato:

SELECT

Cognome,

Bonus,

BonusEuro

FROM Dipendenti

In entrambi i sistemi dovremmo vedere lo stesso risultato. In SQL Server la scheda Risultato 1 dovrebbe presentarsi come nella Figura 4.13.

Quando si ha bisogno di aggiornare automaticamente il contenuto di un’intera colonna, è sempre opportuno eseguire prima una query SELECT con il qualificatore AS, per controllare che cosa si ottiene nella colonna alias. Quando il risultato è soddisfacente, si può procedere alla modifica effettiva della tabella con il comando UPDATE, utilizzando nella sua clausola SET l’espressione che ha generato la colonna alias.

Se, a un certo punto, ritenessimo che la colonna BonusPound non sia più necessaria, perché non ci sono più commesse attive in Inghilterra, possiamo eliminarla con questo semplice enunciato:

ALTER TABLE Dipendenti

DROP COLUMN BonusPound



scaricare



Disconoscimento:
Questo sito non memorizza alcun file sul suo server. Abbiamo solo indice e link                                                  contenuto fornito da altri siti. Contatta i fornitori di contenuti per rimuovere eventuali contenuti di copyright e inviaci un'email. Cancelleremo immediatamente i collegamenti o il contenuto pertinenti.