Specificare valori predefiniti per le colonne

Si applica a: SQL Server 2016 (13.x) e versioni successive Database SQL di Azure Istanza gestita di SQL di Azure Azure Synapse Analytics Piattaforma di strumenti analitici (PDW)

È possibile usare SQL Server Management Studio (SSMS) per specificare un valore predefinito che verrà immesso nella colonna della tabella. È possibile impostare un valore predefinito usando Esplora oggetti 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.

Limiti

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, racchiudere il valore tra virgolette singole ('). Non usare virgolette doppie ("), perché sono riservate agli identificatori tra virgolette.

  • 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 SQL Server Management Studio per specificare un valore predefinito

È 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 .

    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 scegliere Salva <nome tabella>.

Usare Transact-SQL per specificare un’impostazione predefinita

Esistono vari modi per specificare un valore predefinito per una colonna usando inviare T-SQL. In ognuno degli esempi seguenti è possibile aprire una nuova query Transact-SQL con questi passaggi.

  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 della query e selezionare Esegui.

Usare ALTER TABLE

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

Usare CREATE TABLE

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

Usare un vincolo denominato

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