DROP RULE (Transact-SQL)
Se aplica a: SQL Server Azure SQL Managed Instance
Quita una o más reglas definidas por el usuario de la base de datos actual.
Importante
DROP RULE
se quitará en una versión futura de SQL Server. No use DROP RULE
en el nuevo trabajo de desarrollo y planee modificar las aplicaciones que las usan actualmente. En su lugar, use CHECK
restricciones que puede crear mediante la CHECK
palabra clave CREATE TABLE o ALTER TABLE. Para más información, consulte Unique Constraints and Check Constraints.
Convenciones de sintaxis de Transact-SQL
Sintaxis
DROP RULE [ IF EXISTS ] { [ schema_name . ] rule_name } [ , ...n ]
[ ; ]
Argumentos
IF EXISTS
Se aplica a: SQL Server 2016 (13.x) y versiones posteriores
Quita la regla condicionalmente solo si ya existe.
schema_name
Nombre del esquema al que pertenece la regla.
rule
Regla que se va a quitar. Los nombres de reglas deben ajustarse a las reglas de los identificadores. Especificar el nombre de esquema de la regla es opcional.
Observaciones
Para quitar una regla, primero desenlace la regla si ésta está enlazada actualmente a una columna o a un tipo de datos de alias. Para desenlace la regla, use sp_unbindrule
. Si la regla está enlazada al intentar quitarla, se muestra un mensaje de error y se cancela la DROP RULE
instrucción .
Después de quitar una regla, los datos nuevos escritos en las columnas que controlaba anteriormente la regla se escriben sin las restricciones de la regla. Los datos existentes no se ven afectados de ninguna manera.
La DROP RULE
instrucción no se aplica a CHECK
las restricciones. Para obtener más información sobre cómo quitar CHECK
restricciones, vea ALTER TABLE.
Permisos
Para ejecutar DROP RULE
, como mínimo, un usuario debe tener ALTER
permiso en el esquema al que pertenece la regla.
Ejemplos
El ejemplo siguiente desenlaza primero y después quita la regla llamada VendorID_rule
.
EXEC sp_unbindrule 'Production.ProductVendor.VendorID';
DROP RULE VendorID_rule;