Nota:
El acceso a esta página requiere autorización. Puede intentar iniciar sesión o cambiar directorios.
El acceso a esta página requiere autorización. Puede intentar cambiar los directorios.
Applies to:SQL Server
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 una versión futura de SQL Server. Evite utilizar esta característica en nuevos trabajos de desarrollo y tenga previsto modificar las aplicaciones que actualmente la utilizan. Cree definiciones predeterminadas mediante la DEFAULT palabra clave en las instrucciones ALTER TABLE o CREATE TABLE en su lugar.
Transact-SQL convenciones de sintaxis
Sintaxis
sp_unbindefault
[ @objname = ] N'objname'
[ , [ @futureonly = ] 'futureonly' ]
[ ; ]
Argumentos
[ @objname = ] N'objname'
El nombre de la tabla y la columna, o el tipo de datos de alias, para desenlace el valor predeterminado. @objname es nvarchar(776), sin ningún valor predeterminado. SQL Server intenta resolver primero los identificadores de dos partes en los nombres de columna y, después, en los 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:
@objname pueden contener corchetes [] como caracteres de identificador delimitados. Para obtener más información, consulte Identificadores de base de datos.
[ @futureonly = ] 'futureonly'
Solo se usa al desenlace de un valor predeterminado de un tipo de datos de alias.
@futureonly es varchar(15), con un valor predeterminado de NULL. Cuando @futureonly es futureonly, las columnas existentes del tipo de datos no pierden el valor predeterminado especificado.
Valores de código de retorno
0 (correcto) o 1 (erróneo).
Comentarios
Para mostrar el texto de un valor predeterminado, ejecute sp_helptext con el nombre del valor predeterminado como parámetro .
Permisos
Para desenlace un valor predeterminado de una columna de tabla, se requiere ALTER permiso en la tabla. Para desenlace un valor predeterminado de un tipo de datos de alias, se requiere CONTROL permiso para el tipo o ALTER permiso en el esquema al que pertenece el tipo.
Ejemplos
A Desenlace un valor predeterminado de una columna
En el siguiente ejemplo se desenlaza el valor predeterminado de la columna hiredate de una tabla employees.
EXECUTE sp_unbindefault 'employees.hiredate';
B. Desenlace un valor predeterminado de un tipo de datos de 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.
EXECUTE sp_unbindefault 'ssn';
C. Uso del 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.
EXECUTE sp_unbindefault 'ssn', 'futureonly';
D. Uso de identificadores delimitados
En el ejemplo siguiente se muestra el uso de identificadores delimitados en el parámetro @objname . El nombre t.3 de la tabla contiene un punto, por lo que se requieren delimitadores de corchetes. En la sp_unbindefault llamada, el primer punto forma parte del nombre de la tabla y el segundo separa el nombre de la tabla del nombre de columna.
CREATE TABLE [t.3] (c1 INT);
CREATE DEFAULT default2 AS 0;
GO
EXECUTE sp_bindefault 'default2', '[t.3].c1';
EXECUTE sp_unbindefault '[t.3].c1';