DROP RULE (Transact-SQL)
Quita una o más reglas definidas por el usuario de la base de datos actual.
Importante |
---|
DROP RULE se quitará en la siguiente versión de Microsoft SQL Server. No lo use en nuevos trabajos de desarrollo y piense en modificar las aplicaciones que usan actualmente DROP RULE. En su lugar, utilice restricciones CHECK que puede crear con la palabra clave CHECK de CREATE TABLE o ALTER TABLE. Para obtener más información, vea Restricciones CHECK. |
Sintaxis
DROP RULE { [ schema_name . ] rule_name } [ ,...n ] [ ; ]
Argumentos
schema_name
Es el nombre del esquema al que pertenece la regla.rule
Es la regla que se va a quitar. Los nombres de regla deben cumplir las mismas reglas que los identificadores. Para obtener más información sobre las reglas de los identificadores, vea Usar identificadores como nombres de objeto. Especificar el nombre de esquema de la regla es opcional.
Comentarios
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 desenlazar la regla, use sp_unbindrule. Si la regla está enlazada, al intentar quitarla se muestra un mensaje de error y se cancela la instrucción DROP RULE.
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 forma.
La instrucción DROP RULE no se aplica a las restricciones CHECK. Para obtener más información sobre cómo quitar una restricción CHECK, vea ALTER TABLE (Transact-SQL).
Permisos
Para ejecutar DROP RULE, el usuario debe tener, como mínimo, el permiso ALTER para el esquema al que pertenece la regla.
Ejemplos
El ejemplo siguiente desenlaza primero y después quita la regla llamada VendorID_rule.
USE AdventureWorks2008R2;
GO
IF OBJECT_ID (N'VendorID_rule', N'R') IS NOT NULL
BEGIN
EXEC sp_unbindrule 'Production.ProductVendor.BusinessEntityID';
DROP RULE VendorID_rule;
END;
GO