sp_unbindrule (Transact-SQL)
Deshace el enlace de una regla de una columna o de un tipo de datos del alias en la base de datos actual.
Importante: |
---|
Esta característica se quitará en una versión futura de Microsoft SQL Server. Evite utilizar esta característica en nuevos trabajos de desarrollo y tenga previsto modificar las aplicaciones que actualmente la utilizan. Es recomendable crear las definiciones predeterminadas utilizando la palabra clave DEFAULT en las instrucciones ALTER TABLE o CREATE TABLE. Para obtener más información, vea Crear y modificar definiciones DEFAULT. |
Convenciones de sintaxis de Transact-SQL
Sintaxis
sp_unbindrule [ @objname = ] 'object_name'
[ , [ @futureonly = ] 'futureonly_flag' ]
Argumentos
[ @objname= ] 'object_name'
Es el nombre de la tabla y la columna o del tipo de datos de alias desde el que se deshace el enlace de la regla. object_name es nvarchar(776) y no tiene valores predeterminados. SQL Server trata de resolver los identificadores en dos partes, primero en los nombres de columna y luego los tipos de datos de alias. Cuando se deshace el enlace de una regla de un tipo de datos de alias, también se deshace el enlace de las columnas de ese tipo de datos que tengan la misma regla. Las columnas de ese tipo de datos con reglas directamente enlazadas a ellas no se ven afectadas.
[!NOTA] object_name puede contener corchetes [] como caracteres de identificadores delimitados. Para obtener más información, vea Identificadores delimitados (motor de base de datos).
[ @futureonly= ] 'futureonly_flag'
Sólo se utiliza cuando se deshace el enlace de una regla de un tipo de datos de alias. futureonly_flag es de tipo varchar(15) y su valor predeterminado es NULL. Cuando futureonly_flag es de tipo futureonly, las columnas existentes de ese tipo de datos no pierden la regla especificada.
Notas
Para que se muestre el texto de una regla, ejecute sp_helptext con el nombre de la regla como parámetro.
Cuando se deshace el enlace de una regla, la información del enlace se quita de la tabla sys.columns, si la regla estaba enlazada a una columna, y de la tabla sys.types, si la regla estaba enlazada a un tipo de datos de alias.
Cuando se deshace el enlace de una regla de un tipo de datos de alias, también se deshace el enlace de las columnas que tengan ese tipo de datos de alias. La regla también podría seguir estando enlazada a columnas cuyos tipos de datos se han cambiado posteriormente mediante la cláusula ALTER COLUMN de una instrucción ALTER TABLE; en ese caso, debe deshacer específicamente el enlace de la regla de estas columnas mediante sp_unbindrule y especificar el nombre de la columna.
Permisos
Para deshacer el enlace de una regla de una columna de tabla es necesario el permiso ALTER para la tabla. Para deshacer el enlace de una regla de un tipo de datos de alias es necesario el permiso CONTROL para el tipo o el permiso ALTER para el esquema al que pertenece el tipo.
Valores de código de retorno
0 (correcto) o 1 (error)
Ejemplos
A. Deshacer el enlace de una regla de una columna
En el siguiente ejemplo se deshace el enlace de la columna startdate
de una tabla employees
.
EXEC sp_unbindrule 'employees.startdate'
B. Deshacer el enlace de una regla de un tipo de datos de alias
En el siguiente ejemplo se deshace el enlace de la regla del tipo de datos de alias ssn
. Deshace el enlace de la regla de las columnas de ese tipo existentes y futuras.
EXEC sp_unbindrule ssn
C. Utilizar futureonly_flag
En el siguiente ejemplo se deshace el enlace de la regla del tipo de datos de alias ssn
sin afectar a las columnas ssn
existentes.
EXEC sp_unbindrule 'ssn', 'futureonly'
D. Utilizar identificadores delimitados
En el ejemplo siguiente se muestra el uso de identificadores delimitados en el parámetro object_name.
CREATE TABLE [t.4] (c1 int) -- Notice the period as part of the table
-- name.
GO
CREATE RULE rule2 AS @value > 100
GO
EXEC sp_bindrule rule2, '[t.4].c1' -- The object contains two
-- periods; the first is part of the table name and the second
-- distinguishes the table name from the column name.
GO
EXEC sp_unbindrule '[t.4].c1'
Vea también
Referencia
Procedimientos almacenados del sistema (Transact-SQL)
Procedimientos almacenados del motor de base de datos (Transact-SQL)
CREATE RULE (Transact-SQL)
DROP RULE (Transact-SQL)
sp_bindrule (Transact-SQL)
sp_helptext (Transact-SQL)
Procedimientos almacenados del sistema (Transact-SQL)