DROP RULE (Transact-SQL)

Se aplica a:yesSQL Server (todas las versiones compatibles)

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 MicrosoftSQL Server. No lo use en nuevos trabajos de desarrollo y piense en modificar las aplicaciones que usan actualmente DROP RULE. En su lugar, use restricciones CHECK que puede crear mediante la palabra clave CHECK de CREATE TABLE o ALTER TABLE. Para más información, consulte Unique Constraints and Check Constraints.

Topic link iconConvenciones de sintaxis de Transact-SQL

Sintaxis

DROP RULE [ IF EXISTS ] { [ schema_name . ] rule_name } [ ,...n ] [ ; ]  

Nota:

Para ver la sintaxis de Transact-SQL para SQL Server 2014 y versiones anteriores, consulte Versiones anteriores de la documentación.

Argumentos

IF EXISTS
Se aplica a: SQL Server (desde SQL Server 2016 (13.x) hasta la versión actual).

Quita la regla condicionalmente solo si ya existe.

schema_name
Es el nombre del esquema al que pertenece la regla.

rule
Es la 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 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 más información sobre cómo quitar una restricción CHECK, consulte 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.

sp_unbindrule 'Production.ProductVendor.VendorID'  
DROP RULE VendorID_rule  
GO  

Consulte también

CREATE RULE (Transact-SQL)
sp_bindrule (Transact-SQL)
sp_help (Transact-SQL)
sp_helptext (Transact-SQL)
sp_unbindrule (Transact-SQL)
USE (Transact-SQL)