Comparteix a través de


Especificación de valores predeterminados para las columnas

Se aplica a: SQL Server 2016 (13.x) y versiones posteriores Azure SQL Database Azure SQL Managed Instance Azure Synapse Analytics Analytics Platform System (PDW)

Puede usar SQL Server Management Studio (SSMS) para especificar un valor predeterminado que se escribirá en la columna de tabla. Puede establecer un valor predeterminado mediante el Explorador de objetos o si ejecuta Transact-SQL.

Si no asigna un valor predeterminado a la columna y el usuario deja la columna en blanco, entonces:

  • Si ha establecido la opción de permitir valores NULL, se insertará NULL en la columna.

  • Si no se establece la opción para permitir valores NULL, la columna permanecerá en blanco, pero el usuario no podrá guardar la fila hasta que especifique un valor para la columna.

Limitaciones

Antes de comenzar, tenga en cuenta las siguientes limitaciones y restricciones:

  • Si la entrada del campo Valor predeterminado reemplaza un valor predeterminado enlazado (que se muestra sin paréntesis), se le preguntará si quiere desenlazar el valor predeterminado y sustituirlo por el nuevo.

  • Para escribir una cadena de texto, escriba el valor entre comillas simples ('). No use comillas dobles ("), ya que están reservadas para identificadores entre comillas.

  • Para especificar un valor predeterminado numérico, escriba el número sin comillas.

  • Para especificar un objeto o función, escriba el nombre del objeto o función sin comillas.

Nota:

En Azure Synapse Analytics, solo se pueden usar constantes para una restricción predeterminada. No se puede usar una expresión con una restricción predeterminada.

Permisos

Para las acciones descritas en este artículo se necesita el permiso ALTER en la tabla.

Uso de SQL Server Management Studio para especificar un valor predeterminado

Puede usar el Explorador de objetos en SSMS para especificar un valor predeterminado de una columna de tabla. Para ello, siga los pasos que se indican a continuación:

  1. Conéctese a su instancia de SQL Server usando SSMS.

  2. En el Explorador de objetos, haga clic con el botón derecho en la tabla que contenga las columnas de las que quiera cambiar la escala y, después, seleccione Diseño.

  3. Seleccione la columna para la que desea especificar un valor predeterminado.

  4. En la pestaña Propiedades de columna , escriba el nuevo valor predeterminado en la propiedad Valor o enlace predeterminado .

    Para especificar un valor predeterminado numérico, escriba el número. Para un objeto o función, escriba su nombre. Para un valor predeterminado alfanumérico, escriba el valor entre comillas simples.

  5. En el menú Archivo, seleccione Guardar <nombre de tabla>.

Usar Transact-SQL para especificar un valor predeterminado

Existen diversas formas en que puede especificar un valor predeterminado de una columna, mediante T-SQL. En cada uno de los ejemplos siguientes, puede abrir una nueva consulta de Transact-SQL con estos pasos.

  1. En el Explorador de objetos, conéctese a una instancia del Motor de base de datos.

  2. En la barra Estándar, seleccione Nueva consulta.

  3. Copie y pegue el ejemplo en la ventana de consulta y seleccione Ejecutar.

Use 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

Use CREATE TABLE

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

Uso de una restricción con nombre

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