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.
Importante |
---|
Esta característica se quitará en la versión siguiente de Microsoft SQL Server. No utilice esta característica en nuevos trabajos de desarrollo y modifique lo antes posible las aplicaciones que actualmente la utilizan. Es recomendable crear las definiciones predeterminadas utilizando la palabra clave DEFAULT en las instrucciones ALTER TABLE o CREATE TABLE. |
Convenciones 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 columna, o el tipo de datos de alias del que se va a desenlazar el valor predeterminado. object_name es de tipo nvarchar(776) y no tiene ningún valor predeterminado. SQL Server intenta resolver los identificadores de dos partes en nombres de columna en primer lugar, y después en tipos de datos de 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 incluir corchetes [ ] como caracteres de identificadores delimitados. Para obtener más información, vea Identificadores de base de datos.
[ @futureonly= ] 'futureonly_flag'
Solo se usa cuando se desenlaza un valor predeterminado de un tipo de datos de alias. futureonly_flag es de tipo varchar(15) y su valor predeterminado es NULL. Cuando futureonly_flag es futureonly, las columnas existentes de ese tipo de datos no pierden el valor predeterminado especificado.
Valores de código de retorno
0 (correcto) o 1 (error)
Comentarios
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.
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.Usar identificadores delimitados
En el siguiente ejemplo 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)