Come utilizzare la colonna calcolata SQL Server

Come utilizzare la colonna calcolata SQL Server
Una colonna calcolata è una colonna virtuale il cui valore è il risultato di un'espressione principalmente utilizzando altri dati memorizzati in altre colonne. Una colonna calcolata è una colonna virtuale che significa che SQL Server non la memorizza fisicamente su una tabella. Invece, il valore di una colonna calcolata viene calcolato quando vengono interrogati i dati. È possibile, tuttavia, archiviarlo fisicamente specificando il parametro persistente.

Questa guida ti darà gli elementi essenziali della creazione e dell'utilizzo di colonne calcolate in SQL Server.

Prima di immergerci in un esempio pratico e utilizzare colonne calcolate, ci sono alcuni punti chiave da notare.

  1. Una colonna calcolata non può contenere come vincoli di chiave predefiniti, non nulli o esterni a meno che la colonna non sia impostata su.
  2. Non è possibile utilizzare una colonna calcolata su istruzioni di inserto o aggiornamento.

Utilizzo della colonna calcolato SQL Server

Per capire meglio come utilizzare le colonne calcolate SQL Server, useremo un esempio pratico.

Inizia creando un dati di esempio come mostrato nelle query seguenti:

Crea database Sales_Database;
Usa Sales_Database;
Crea vendite di tabelle (
Id int Identity (1,1) non null Key primario,
Product_Name Varchar (50),
Prezzo denaro,
quantità int
);
Inserisci le vendite (Product_Name, Price, quantità)
Valori ("Caricatore iPhone", $ 9.99, 10),
("Google Chromecast", $ 59.25, 5),
("Controller wireless Dualsense PlayStation", $ 69.00, 100),
("Xbox Series S", $ 322.00, 3),
('Oculus Quest 2', $ 299.50, 7),
("Netgear Nighthawk", $ 236.30, 40),
('Redragon S101', $ 35.98, 100),
("Action figure di Star Wars", $ 17.50, 10),
("Mario Kart 8 Deluxe", $ 57.00, 5);

Una volta che abbiamo i dati di esempio, possiamo procedere.

Crea colonna calcolata: T-SQL

La creazione di una colonna calcolata in SQL Server è semplice. Utilizzare il comando Crea tabella o altera tabella per aggiungere una colonna calcolata.

Ad esempio, possiamo creare una colonna calcolata che calcola il prezzo totale degli articoli in base al prezzo e alla quantità.

Considera l'esempio mostrato di seguito:

Altera le vendite di tabelle
Aggiungi totale_price come prezzo * quantità;

La query sopra crea una nuova colonna in base al valore delle colonne di quantità di prezzo *. Possiamo interrogare il nuovo tavolo come:

Seleziona * dalle vendite;

La tabella risultante è come mostrata:

Si noti che il valore della colonna Total_Price si basa sui valori delle colonne di prezzo e quantità.

Una volta aggiornati i valori su entrambe le colonne, il valore nella colonna calcolata riflette le modifiche come mostrato:

Aggiorna la quantità del set di vendite = 200
Dove id = 3;

La query sopra aggiorna la quantità della riga da 3 a 200.

Se interrogiamo di nuovo i dati, dovremmo vedere il total_price aggiornato per riflettere le modifiche come:

Seleziona * dalle vendite;

Per creare un calcolato durante la creazione della tabella, possiamo specificare la colonna utilizzando la parola chiave AS seguita dalla formula da utilizzare per calcolare il set risultante.

Vendite di caduta del tavolo;
-- ricreare la tabella e reinserire i dati di esempio con nuova colonna calcolata
Crea vendite di tabelle (
Id int Identity (1,1) non null Key primario,
Product_Name Varchar (50),
Prezzo denaro,
quantità int,
totale_price come prezzo * quantità
);

Questo ricrea la tabella con la nuova colonna calcolata.

Crea colonna calcolata: SSMS

È inoltre possibile creare una colonna calcolata utilizzando SQL Server Management Studio. In Object Explorer, espandi a destra il tuo database target -> tabelle -> colonne -> nuova colonna.

Immettere il nome della colonna e il tipo di dati accettato.

Espandi la scheda Proprietà della colonna e seleziona Specifiche della colonna calcolata. Imposta la formula per la colonna come mostrato:

Per applicare le modifiche, selezionare la barra dello strumento principale e fare clic sull'icona Salva:

Colonne calcolate persistite

Se si desidera archiviare fisicamente i valori di una colonna calcolata, è possibile aggiungere la proprietà persistenza durante la creazione della colonna.

Ad esempio, la query seguente aggiunge una colonna calcolata persistente per calcolare l'imposta dei prodotti.

Altera le vendite della tabella aggiungono l'imposta come (1.6 * quantità * prezzo) persisteva;

La tabella risultante è come mostrata:

Nota, non è possibile utilizzare il valore di un'altra colonna calcolata in una colonna calcolata. Ad esempio, se si tenta di impostare il valore della colonna fiscale come 1.6 * Total_price, SQL Server restituirà un errore.

Mostra colonne calcolate: T-SQL

Per mostrare colonne calcolate all'interno di un database specifico, utilizzare la query come mostrato di seguito:

Seleziona * da sys.computed_columns;

La query dovrebbe restituire i dettagli delle colonne calcolate nel database selezionato.

Conclusione

In questo articolo, hai capito come creare e utilizzare colonne calcolate in SQL Server. Controlla la documentazione per saperne di più.