Especificar valores predeterminados para las columnasSpecify Default Values for Columns

SE APLICA A: síSQL Server 2016 y versiones posteriores síAzure SQL Database síAzure Synapse Analytics (SQL DW) síAlmacenamiento de datos paralelos APPLIES TO: yesSQL Server 2016 and later yesAzure SQL Database yesAzure Synapse Analytics (SQL DW) yesParallel Data Warehouse

Puede usar SQL Server Management StudioSQL Server Management Studio para especificar un valor predeterminado que se escribirá en la columna de tabla.You can use SQL Server Management StudioSQL Server Management Studio to specify a default value that will be entered into the table column. Puede establecer un valor predeterminado mediante el Explorador de objetos de la interfaz de usuario o mediante el envío de Transact-SQLTransact-SQL.You can set a default by using the Object Explorer of the user interface or by submitting Transact-SQLTransact-SQL.

Si no asigna un valor predeterminado a la columna y el usuario deja la columna en blanco, entonces:If you do not assign a default value to the column, and the user leaves the column blank, then:

  • Si estableció la opción de permitir valores NULL, se insertará NULL en la columna.If you set the option to allow null values, NULL will be inserted into the column.

  • 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.If you do not set the option to allow null values, the column will remain blank, but the user will not be able to save the row until they supply a value for the column.

Limitaciones y restriccionesLimitations and Restrictions

Antes de comenzar, tenga en cuenta las siguientes limitaciones y restricciones:Before you begin, be aware of the following limitations and restrictions:

  • 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.If your entry in the Default Value field replaces a bound default (which is shown without parentheses), you will be prompted to unbind the default and replace it with your new default.

  • 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.To enter a text string, enclose the value in single quotation marks ('); do not use double quotation marks (") because they are reserved for quoted identifiers.

  • Para especificar un valor predeterminado numérico, escriba el número sin comillas.To enter a numeric default, enter the number without quotation marks around it.

  • Para especificar un objeto o función, escriba el nombre del objeto o función sin comillas.To enter an object/function, enter the name of the object/function without quotation marks around it.

Permisos de seguridadSecurity Permissions

Las acciones descritas en este artículo requieren el permiso ALTER en la tabla.The actions described in this article require ALTER permission on the table.

Usar SSMS para especificar un valor predeterminadoUse SSMS to specify a default

Puede usar el Explorador de objetos para especificar un valor predeterminado de una columna de tabla.You can use the Object Explorer to specify a default value for a table column.

Explorador de objetosObject Explorer

  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.In Object Explorer, right-click the table with columns for which you want to change the scale and click Design.

  2. Seleccione la columna para la que desea especificar un valor predeterminado.Select the column for which you want to specify a default value.

  3. En la pestaña Propiedades de columna , escriba el nuevo valor predeterminado en la propiedad Valor o enlace predeterminado .In the Column Properties tab, enter the new default value in the Default Value or Binding property.

    Nota

    Para especificar un valor predeterminado numérico, escriba el número.To enter a numeric default value, enter the number. Para un objeto o función, escriba su nombre.For an object or function enter its name. Para un valor predeterminado alfanumérico escriba el valor entre comillas simples.For an alphanumeric default enter the value inside single quotes.

  4. En el menú Archivo, haga clic en Guardar nombre de tabla.On the File menu, click Save table name.

Usar Transact-SQL para especificar un valor predeterminadoUse Transact-SQL to specify a default

Existen diversas formas en que puede especificar un valor predeterminado de una columna, usando SSMS para enviar T-SQL.There are various ways that you can specify a default value for a column, by using SSMS to submit T-SQL.

ALTER TABLE (T-SQL)ALTER TABLE (T-SQL)

  1. En el Explorador de objetos, conéctese a una instancia del Motor de base de datosDatabase Engine.In Object Explorer, connect to an instance of Motor de base de datosDatabase Engine.

  2. En la barra de Estándar, haga clic en Nueva consulta.On the Standard bar, click New Query.

  3. Copie y pegue el siguiente ejemplo en la ventana de consulta y haga clic en Ejecutar.Copy and paste the following example into the query window and click Execute.

    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 col_b_def
      DEFAULT 50 FOR column_b;
    GO
    

CREATE TABLE (T-SQL)CREATE TABLE (T-SQL)

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

CONSTRAINT con nombre (T-SQL)Named CONSTRAINT (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).For more information, see ALTER TABLE (Transact-SQL).