SQL Server Drop Vincolo se esiste

SQL Server Drop Vincolo se esiste

Un vincolo si riferisce a una serie di regole e limitazioni imposte a una colonna di database per governare i record memorizzati nella colonna, integrità e accuratezza dei dati e affidabilità dei dati.

Nei database, il concetto di aggiunta e rimozione è il traffico a due vie. Quindi, se c'è un modo per aggiungere vincoli alla colonna di una tabella, c'è un modo per rimuovere i vincoli da una colonna.

In questa guida, esamineremo come rimuovere un vincolo in SQL Server. Impareremo anche come aggiungere la logica condizionale solo per rimuovere un vincolo se esiste.

Come aggiungere un vincolo in SQL Server

SQL Server ci fornisce sei tipi principali di vincoli. Questi includono:

  1. Unico
  2. Controllo
  3. Predefinito
  4. Chiave primaria
  5. Chiave straniera
  6. Non nullo

In questa guida, non ci immergeremo in profondità nel funzionamento e nell'uso di ogni vincolo sopra. Invece, illustreremo solo come creare un vincolo in una colonna SQL Server.

Per aggiungere un vincolo, dobbiamo modificare l'autorizzazione su un database. La query di vincolo di aggiunta fa parte del Alter tabella dichiarazione.

La sintassi per l'aggiunta di un vincolo in SQL Server è come:

Alter tabella table_name aggiungi vincolo vincente_ tipo;

IL table_name Il parametro si riferisce alla tabella in cui si trova la colonna che si desidera aggiungere il vincolo.

IL vincolo_name si riferisce al nome dato al tuo vincolo definito.

L'esempio seguente dimostra come utilizzare la query T-SQL per aggiungere un vincolo unico a una colonna.

Usa SalesDB;
Alter tabella prodotti aggiungi vincoli be_unique univoco (productid);

Nell'esempio sopra, usiamo il Alter tabella comando per aggiungere un vincolo con il nome "essere unico" al Codice prodotto colonna.

Il vincolo univoco costringe i valori nelle colonne ad essere univoci tranne i valori null.

Puoi anche aggiungere un vincolo di controllo a una colonna in SQL Server. Il vincolo di controllo forza i valori memorizzati in una colonna per valutare True per un'espressione booleana definita.

Considera la query di esempio come mostrato di seguito:

ALTER SALDS TABLE Aggiungi vincolo check_Qty Check (quantità> 0);

Aggiungiamo un vincolo di controllo alla colonna di quantità nell'esempio sopra.

SQL Server Drop Vincolo

Eliminare un vincolo in SQL Server è piuttosto semplice. Il vincolo di caduta fa anche parte della tabella alter, come la query di vincolo di aggiunta.

Esprimiamo la sintassi per far cadere un vincolo come:

Alter table table_name drop vintrint vincolant_name;

Qui, dobbiamo solo specificare la tabella di destinazione e il nome del vincolo che desideriamo eliminare.

Ad esempio, la query di seguito rimuove il vincolo di controllo dalla tabella di quantità.

Alter Table Sales Drop Vincoint Check_Qty;

Drop Vincolo con la logica condizionale

Cosa succede quando rimuoviamo un vincolo che non esiste nella tabella specificata?

Alter Table Sales Drop vincoli inesistenti;

In tale scenario, SQL Server restituisce un messaggio di errore come:

Per risolvere tale caso, possiamo implementare la logica condizionale solo per rimuovere il vincolo se esiste. Altrimenti, SQL Server ignorerà la query di drop.

Per fortuna, SQL Server fornisce un Se esiste clausola per verificare se esiste un oggetto specificato prima di eseguire le domande precedenti.

Per esempio:

Altera il vincolo di caduta delle vendite della tabella se esiste inesistente;

Se il vincolo non esiste, la query viene ignorata e SQL Server non restituisce un errore.

Conclusione

In questa guida, abbiamo dimostrato come lavorare con vincoli in SQL Server. Come aggiungerli, rilasciare vincoli e aggiungere la logica condizionale per rilasciare query per evitare errori.

Grazie per aver letto!