Especificar valores predeterminados para las columnas

Se aplica a: síSQL Server 2016 (13.x) y versiones posteriores SíAzure SQL Database SíInstancia administrada de Azure SQL síAzure Synapse Analytics síAlmacenamiento de datos paralelos

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 la interfaz de usuario o mediante el envío de Transact-SQL.

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

  • Si estableció 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 de seguridad

Las acciones descritas en este artículo requieren el permiso ALTER en la tabla.

Usar SSMS para especificar un valor predeterminado

Puede usar el Explorador de objetos para especificar un valor predeterminado de una columna de tabla.

Explorador de objetos

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

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

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

  4. En el menú Archivo, haga clic en *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, usando SSMS para enviar 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 de Estándar, haga clic en Nueva consulta.

  3. Copie y pegue el siguiente ejemplo en la ventana de consulta y haga clic en 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);

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