Especificar valores predeterminados para las columnas

Se aplica a: SQL Server 2016 (13.x) y versiones posteriores Azure SQL DatabaseAzure SQL Managed InstanceAzure Synapse AnalyticsAnalytics Platform System (PDW)

Puede usar SQL Server Management Studio para especificar un valor predeterminado que se escribirá en la columna de tabla. Puede establecer un valor predeterminado mediante el Explorador de objetos de SSMS 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 y restricciones

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, incluya el valor entre comillas simples ('); no debe usar comillas dobles (") porque están reservadas para los identificadores escritos 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.

Usar SSMS 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 estos pasos:

  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 .

    Nota:

    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 Guardarnombre de tabla.

Usar Transact-SQL para especificar un valor predeterminado

Existen diversas formas en que puede especificar un valor predeterminado de una columna, mediante el envío de T-SQL.

ALTER TABLE (T-SQL)

  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 siguiente en la ventana de consulta y seleccione Ejecutar.

    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 nombre (T-SQL)

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

Pasos siguientes

Para obtener más información, consulte ALTER TABLE (Transact-SQL)