sp_unbindefault (Transact-SQL)

Desenlaza o quita un valor predeterminado de una columna o de un tipo de datos alias en la base de datos actual.

ms188913.note(es-es,SQL.90).gifImportante:
Esta característica se quitará en una versión futura de Microsoft SQL Server. Evite utilizar esta característica en nuevos trabajos de desarrollo y tenga previsto modificar las aplicaciones que actualmente la utilizan. En su lugar, se recomienda crear definiciones predeterminadas mediante la palabra clave DEFAULT en las instrucciones ALTER TABLE o CREATE TABLE. Para obtener más información, vea Crear y modificar definiciones DEFAULT.

Icono de vínculo a temasConvenciones de sintaxis de Transact-SQL

Sintaxis

sp_unbindefault [ @objname = ] 'object_name' 
     [ , [ @futureonly = ] 'futureonly_flag' ]

Argumentos

[ @objname= ] 'object_name'

Es el nombre de la tabla y de la columna o el tipo de datos alias del que se tiene que desenlazar el valor predeterminado. object_name es de tipo nvarchar(776) y no tiene valor predeterminado. SQL Server intenta resolver identificadores de dos partes en nombres de columna primero, y después en tipos de datos alias.

Cuando se desenlaza un valor predeterminado de un tipo de datos alias, también se desenlaza cualquier columna de ese tipo de datos que tenga el mismo valor predeterminado. Las columnas de ese tipo de datos cuyos valores predeterminados estén directamente enlazados a ellas no se ven afectadas.

[!NOTA] object_name puede contener paréntesis [] como caracteres de identificadores delimitados. Para obtener más información, vea Identificadores delimitados (motor de base de datos).

[ @futureonly= ] 'futureonly_flag'

Sólo se utiliza cuando se desenlaza un valor predeterminado de un tipo de datos alias. futureonly_flag es de tipo varchar(15) y su valor predeterminado es NULL. Cuando futureonly_flag es futureonly, las columnas existentes del tipo de datos no pierden el valor predeterminado especificado.

Notas

Para mostrar el texto de un valor predeterminado, ejecute sp_helptext con el nombre del valor predeterminado como parámetro.

Permisos

Para desenlazar un valor predeterminado de una columna de la tabla, es necesario el permiso ALTER en la tabla. Para desenlazar un valor predeterminado de un tipo de datos alias, se requiere el permiso CONTROL en el tipo o el permiso ALTER del esquema al que pertenece el tipo.

Valores de código de retorno

0 (correcto) o 1 (error)

Ejemplos

A. Desenlazar un valor predeterminado de una columna

En el siguiente ejemplo se desenlaza el valor predeterminado de la columna hiredate de una tabla employees.

EXEC sp_unbindefault 'employees.hiredate'

B. Desenlazar un valor predeterminado de un tipo de datos alias

En el siguiente ejemplo se desenlaza el valor predeterminado del tipo de datos alias ssn. Desenlaza las columnas de ese tipo existentes y futuras.

EXEC sp_unbindefault 'ssn'

C. Utilizar futureonly_flag

En el siguiente ejemplo se desenlazan futuros usos del tipo de datos alias ssn sin que ello afecte a las columnas ssn existentes.

EXEC sp_unbindefault 'ssn', 'futureonly'

D. Utilizar identificadores delimitados

En el ejemplo siguiente se muestra el uso de identificadores delimitados en el parámetro object_name.

CREATE TABLE [t.3] (c1 int) -- Notice the period as part of the table 
-- name.
CREATE DEFAULT default2 AS 0
GO
EXEC sp_bindefault 'default2', '[t.3].c1' 
-- The object contains two periods;
-- the first is part of the table name and the second 
-- distinguishes the table name from the column name.
EXEC sp_unbindefault '[t.3].c1'

Vea también

Referencia

Procedimientos almacenados del sistema (Transact-SQL)
Procedimientos almacenados del motor de base de datos (Transact-SQL)
CREATE DEFAULT (Transact-SQL)
DROP DEFAULT (Transact-SQL)
sp_bindefault (Transact-SQL)
sp_helptext (Transact-SQL)
Procedimientos almacenados del sistema (Transact-SQL)

Ayuda e información

Obtener ayuda sobre SQL Server 2005