Riepilogo: in questo tutorial imparerai come utilizzare SQL Server ALTER TABLE ALTER COLUMN
per modificare una colonna di una tabella.
SQL Server consente di eseguire le seguenti modifiche a una colonna esistente di una tabella:
- Modifica il tipo di dati
- Modifica la dimensione
- Aggiungi un
NOT NULL
vincolo
Modifica il tipo di dati della colonna
Per modificare il tipo di dati di una colonna, utilizzare la seguente dichiarazione:
Code language: SQL (Structured Query Language) (sql)
Il nuovo tipo di dati deve essere compatibile con quello vecchio, altrimenti, riceverai un errore di conversione nel caso in cui la colonna contenga dati e la conversione non riesce.
Vedi l’esempio seguente.
Innanzitutto, crea una nuova tabella con una colonna il cui tipo di dati è INT
:
Code language: SQL (Structured Query Language) (sql)
Secondo, inserisci alcune righe nella tabella:
Code language: SQL (Structured Query Language) (sql)
Secondo, mo dify il tipo di dati della colonna da INT
a VARCHAR
:
Code language: SQL (Structured Query Language) (sql)
Terzo, inserisci una nuova riga con una stringa di caratteri data:
Code language: SQL (Structured Query Language) (sql)
Quarto, modifica il tipo di dati della colonna da VARCHAR
torna a INT
:
Code language: SQL (Structured Query Language) (sql)
SQL Server ha emesso il seguente errore:
Code language: SQL (Structured Query Language) (sql)
Modifica la dimensione di una colonna
La seguente istruzione crea una nuova tabella con una colonna il cui tipo di dati è VARCHAR(10)
:
Code language: SQL (Structured Query Language) (sql)
Inseriamo alcuni dati di esempio nella tabella t2:
Code language: SQL (Structured Query Language) (sql)
Puoi aumentare la dimensione della colonna come segue:
Code language: SQL (Structured Query Language) (sql)
Tuttavia, quando riduci la dimensione del colonna, SQL Server controlla i dati esistenti per vedere se è in grado di convertire i dati in base alla nuova dimensione. Se la conversione non riesce, SQL Server termina l’istruzione e genera un messaggio di errore.
Ad esempio, se si riduce la dimensione della colonna c
a 5 caratteri:
Code language: SQL (Structured Query Language) (sql)
SQL Server ha emesso il seguente errore:
Code language: SQL (Structured Query Language) (sql)
Aggiungi un vincolo NOT NULL a una colonna nullable
La seguente istruzione crea una nuova tabella con una colonna nullable:
Code language: SQL (Structured Query Language) (sql)
La seguente istruzione inserisce alcune righe nella tabella :
Code language: SQL (Structured Query Language) (sql)
Se desideri aggiungere il NOT NULL
vincolo alla colonna c
, devi prima aggiornare NULL a non nullo, ad esempio:
Code language: SQL (Structured Query Language) (sql)
E poi aggiungere NOT NULL
vincolo:
Code language: SQL (Structured Query Language) (sql)
In questo tutorial, hai imparato a utilizzare ALTER TABLE ALTER COLUMN
SQL Server per modificare alcune proprietà di una colonna esistente.