Specificare valori predefiniti per le colonne

Si applica a: SQL Server 2016 (13.x) e versioni successiveDatabase SQL di AzureIstanza gestita di SQL di AzureAzure Synapse AnalyticsPiattaforma di strumenti analitici (PDW)

È possibile usare SQL Server Management Studio per specificare un valore predefinito che verrà immesso nella colonna della tabella. È possibile impostare un valore predefinito usando Esplora oggetti SSMS o eseguendo Transact-SQL.

Se non si assegna un valore predefinito alla colonna e l'utente lascia la colonna vuota, si verificherà quanto segue:

  • Se è stata impostata l'opzione che consente l'immissione di valori Null, nella colonna verrà inserito il valore NULL.

  • Se non è stata impostata l'opzione che consente l'immissione di valori Null, la colonna resterà vuota, ma non sarà possibile salvare la riga senza avere fornito un valore per la colonna.

Limitazioni e restrizioni

Prima di iniziare, tenere presenti le limitazioni e le restrizioni seguenti:

  • Se la voce nel campo Valore predefinito sostituisce un valore predefinito associato (visualizzato senza parentesi), verrà chiesto se separare il valore predefinito e sostituirlo con il nuovo valore.
  • Per immettere una stringa di testo, è necessario racchiudere il valore tra virgolette singole ('). Non è consentito l'utilizzo delle virgolette doppie (") poiché sono riservate per gli identificatori delimitati.
  • Per immettere un valore predefinito numerico immettere il numero senza virgolette.
  • Per specificare un oggetto o una funzione, immetterne il nome senza racchiuderlo tra virgolette.

Nota

In Azure Synapse Analytics è possibile usare solo costanti per un vincolo predefinito. Non è possibile usare un'espressione con un vincolo predefinito.

Autorizzazioni

Per le azioni descritte in questo articolo è necessaria l'autorizzazione ALTER per la tabella.

Usare SSMS per specificare un’impostazione predefinita

È possibile usare Esplora oggetti in SSMS per specificare un valore predefinito per una colonna della tabella. A tale scopo, effettuare i passaggi seguenti:

  1. Connettiti alla tua istanza di SQL Server tramite SSMS.

  2. In Esplora oggetti fare clic con il pulsante destro del mouse sulle colonne della tabella di cui modificare la scala e scegliere Progetta.

  3. Selezionare la colonna per la quale si desidera specificare un valore predefinito.

  4. Nella scheda Proprietà colonne , immettere il nuovo valore predefinito nella proprietà Valore predefinito dell'associazione .

    Nota

    Per specificare un valore predefinito numerico, immettere il numero desiderato. Per specificare un oggetto o una funzione, immetterne il nome. Per specificare un valore predefinito alfanumerico, immettere il valore racchiudendolo tra virgolette singole.

  5. Nel menu File selezionare Salvanome tabella.

Usare Transact-SQL per specificare un’impostazione predefinita

Esistono vari modi per specificare un valore predefinito per una colonna usando inviare T-SQL.

ALTER TABLE (T-SQL)

  1. In Esplora oggetti connettersi a un'istanza del motore di database.

  2. Sulla barra Standard selezionare Nuova query.

  3. Copiare e incollare l'esempio seguente nella finestra di query e selezionare Esegui.

    CREATE TABLE dbo.doc_exz (column_a INT, column_b INT); -- Allows nulls.
    GO
    INSERT INTO dbo.doc_exz (column_a) VALUES (7);
    GO
    ALTER TABLE dbo.doc_exz
      ADD CONSTRAINT DF_Doc_Exz_Column_B
      DEFAULT 50 FOR column_b;
    GO
    

CREATE TABLE (T-SQL)

    CREATE TABLE dbo.doc_exz (
      column_a INT,
      column_b INT DEFAULT 50);

CONSTRAINT con nome (T-SQL)

    CREATE TABLE dbo.doc_exz (
      column_a INT,
      column_b INT CONSTRAINT DF_Doc_Exz_Column_B DEFAULT 50);

Passaggi successivi

Per altre informazioni, vedere ALTER TABLE (Transact-SQL).