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.
Se aplica a:SQL Server
Azure SQL Managed Instance
Quita uno o más valores predeterminados definidos por el usuario de la base de datos actual.
Importante
DROP DEFAULTserá eliminado en la próxima versión de Microsoft SQL Server. No los utilices DROP DEFAULT en nuevos trabajos de desarrollo y planea modificar las aplicaciones que ya los utilizan. En su lugar, utiliza definiciones predeterminadas que puedes crear usando la DEFAULT palabra clave de ALTER TABLE o CREATE TABLE.
Convenciones de sintaxis de Transact-SQL
Sintaxis
DROP DEFAULT [ IF EXISTS ] { [ schema_name . ] default_name } [ ,...n ] [ ; ]
Argumentos
SI EXISTE
Se aplica a: SQL Server (desde SQL Server 2016 (13.x) hasta la versión actual).
Quita condicionalmente el valor predeterminado solo si ya existe.
schema_name
Es el nombre del esquema al que pertenece el valor predeterminado.
default_name
Es el nombre de un valor predeterminado existente. Para ver la lista de valores predeterminados existentes, ejecute sp_help. Los valores predeterminados deben seguir las reglas de los identificadores. Especificar el nombre del esquema predeterminado es opcional.
Observaciones
Antes de quitar un valor predeterminado, cancele el enlace del valor predeterminado; para ello, ejecute sp_unbindefault (si el valor predeterminado está enlazado actualmente a una columna o un tipo de datos de alias).
Después de quitar un valor predeterminado de una columna que permite valores nulos, se inserta NULL en esa posición cuando se agregan filas y no se proporciona un valor explícitamente. Después de quitar un valor predeterminado de una columna NOT NULL, se devuelve un mensaje de error cuando se agregan filas y no se proporciona un valor explícitamente. Estas filas se añaden más tarde como parte del comportamiento típico INSERT de las sentencias.
Permisos
Para ejecutar DROP DEFAULT, como mínimo, un usuario debe tener permiso ALTER sobre el esquema al que pertenece el predeterminado.
Ejemplos
A. Quitar un valor predeterminado
Si un predeterminado no ha sido asignado a una columna o a un tipo de dato de alias, puede simplemente eliminarse usando DROP DEFAULT. El siguiente ejemplo quita un valor predeterminado creado por el usuario denominado datedflt.
USE AdventureWorks2022;
GO
IF EXISTS (SELECT name FROM sys.objects
WHERE name = 'datedflt'
AND type = 'D')
DROP DEFAULT datedflt;
GO
A partir de SQL Server 2016 (13.x) se puede usar la siguiente sintaxis.
DROP DEFAULT IF EXISTS datedflt;
GO
B. Quitar un valor predeterminado enlazado a una columna
El siguiente ejemplo cancela el enlace del valor predeterminado asociado con la columna EmergencyContactPhone de la tabla Contact y, a continuación, quita el valor predeterminado denominado phonedflt.
USE AdventureWorks2022;
GO
BEGIN
EXEC sp_unbindefault 'Person.Contact.Phone'
DROP DEFAULT phonedflt
END;
GO
Consulte también
CREATE DEFAULT (Transact-SQL)
sp_helptext (Transact-SQL)
sp_help (Transact-SQL)
sp_unbindefault (Transact-SQL)