sp_unbindrule (Transact-SQL)sp_unbindrule (Transact-SQL)

APLICA-SE A: simSQL Server nãoBanco de Dados SQL do Azure nãoAzure Synapse Analytics (SQL DW) nãoParallel Data Warehouse APPLIES TO: yesSQL Server noAzure SQL Database noAzure Synapse Analytics (SQL DW) noParallel Data Warehouse

Desvincula uma regra de uma coluna ou de um tipo de dados de alias no banco de dados atual.Unbinds a rule from a column or an alias data type in the current database.

Importante

Esse recurso será removido na próxima versão do Microsoft SQL Server.This feature will be removed in the next version of Microsoft SQL Server. Não utilize esse recurso em desenvolvimentos novos e modifique, assim que possível, os aplicativos que atualmente o utilizam.Do not use this feature in new development work, and modify applications that currently use this feature as soon as possible. É recomendável criar definições padrão usando a palavra-chave DEFAULT na ALTER TABLE ou CREATE TABLE instruções em vez disso.We recommend that you create default definitions by using the DEFAULT keyword in the ALTER TABLE or CREATE TABLE statements instead.

Ícone de link do tópico Convenções de sintaxe de Transact-SQLTopic link icon Transact-SQL Syntax Conventions

SintaxeSyntax

  
sp_unbindrule [ @objname = ] 'object_name'   
     [ , [ @futureonly = ] 'futureonly_flag' ]  

ArgumentosArguments

[ @objname = ] 'object_name' É o nome da tabela e coluna ou o tipo de dados de alias do qual a regra é desvinculada.[ @objname = ] 'object_name' Is the name of the table and column or the alias data type from which the rule is unbound. object_name está nvarchar(776) , sem padrão.object_name is nvarchar(776), with no default. O SQL ServerSQL Server tenta resolver identificadores de duas partes primeiro para nomes das colunas e, em seguida, para tipos de dados do alias.SQL ServerSQL Server attempts to resolve two-part identifiers to column names first, then to alias data types. Ao desvincular uma regra de um tipo de dados de alias, as colunas do tipo de dados que tiverem a mesma regra também serão desvinculadas.When unbinding a rule from an alias data type, any columns of the data type that have the same rule are also unbound. As colunas desse tipo de dados com regras vinculadas diretamente não serão afetadas.Columns of that data type with rules bound directly to them are unaffected.

Observação

object_name pode conter colchetes [] como caracteres de identificador delimitados.object_name can contain brackets [] as delimited identifier characters. Para obter mais informações, consulte Database Identifiers.For more information, see Database Identifiers.

[ @futureonly = ] 'futureonly_flag' É usado apenas ao desvincular uma regra de um tipo de dados de alias.[ @futureonly = ] 'futureonly_flag' Is used only when unbinding a rule from an alias data type. futureonly_flag está varchar(15) , com um padrão NULL.futureonly_flag is varchar(15), with a default of NULL. Quando futureonly_flag é futureonly, as colunas existentes desse tipo de dados não perdem a regra especificada.When futureonly_flag is futureonly, existing columns of that data type do not lose the specified rule.

Valores do código de retornoReturn Code Values

0 (êxito) ou 1 (falha)0 (success) or 1 (failure)

ComentáriosRemarks

Para exibir o texto de uma regra, execute sp_helptext com o nome da regra como o parâmetro.To display the text of a rule, execute sp_helptext with the rule name as the parameter.

Quando uma regra é desvinculada, as informações sobre a associação são removidas do sys. Columns tabela se a regra foi associada de uma coluna e o Types se a regra foi associada a um tipo de dados de alias de tabela.When a rule is unbound, the information about the binding is removed from the sys.columns table if the rule was bound to a column, and from the sys.types table if the rule was bound to an alias data type.

Quando uma regra é desvinculada de um tipo de dados de alias, ela também é desvinculada das colunas com esse tipo de dados de alias.When a rule is unbound from an alias data type, it is also unbound from any columns having that alias data type. A regra também ainda pode ser associada a colunas cujos tipos de dados tenham sido alterados posteriormente pela cláusula ALTER COLUMN de uma instrução ALTER TABLE, desvincular especificamente a regra dessas colunas, usando sp_unbindrule e especificando o nome da coluna.The rule may also still be bound to columns whose data types were later changed by the ALTER COLUMN clause of an ALTER TABLE statement, you must specifically unbind the rule from these columns by using sp_unbindrule and specifying the column name.

PermissõesPermissions

Para desvincular uma regra de uma coluna de tabela, é necessário ter a permissão ALTER na tabela.To unbind a rule from a table column requires ALTER permission on the table. Para desvincular uma regra de um tipo de dados de alias, é necessário ter a permissão CONTROL no tipo ou a permissão ALTER no esquema ao qual o tipo pertence.To unbind a rule from an alias data type requires CONTROL permission on the type or ALTER permission on the schema to which the type belongs.

ExemplosExamples

A.A. Desvinculando uma regra de uma colunaUnbinding a rule from a column

O exemplo a seguir desvincula a regra da coluna startdate de uma tabela employees.The following example unbinds the rule from the startdate column of an employees table.

EXEC sp_unbindrule 'employees.startdate';  

B.B. Desvinculando uma regra de um tipo de dados de aliasUnbinding a rule from an alias data type

O exemplo a seguir desvincula a regra do tipo de dados de alias ssn.The following example unbinds the rule from the alias data type ssn. Ele desvincula a regra de colunas desse tipo, existentes e futuras.It unbinds the rule from existing and future columns of that type.

EXEC sp_unbindrule ssn;  

C.C. Usando futureonly_flagUsing futureonly_flag

O exemplo a seguir desvincula a regra do tipo de dados de alias ssn sem afetar as colunas ssn existentes.The following example unbinds the rule from the alias data type ssn without affecting existing ssn columns.

EXEC sp_unbindrule 'ssn', 'futureonly';  

D.D. Usando identificadores delimitadosUsing delimited identifiers

O exemplo a seguir mostra o uso de identificadores delimitados na object_name parâmetro.The following example shows using delimited identifiers in the object_name parameter.

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';  

Consulte tambémSee Also

Procedimentos armazenados do sistema (Transact-SQL) System Stored Procedures (Transact-SQL)
Procedimentos armazenados do mecanismo de banco de dados (Transact-SQL) Database Engine Stored Procedures (Transact-SQL)
CREATE RULE (Transact-SQL) CREATE RULE (Transact-SQL)
DROP RULE (Transact-SQL) DROP RULE (Transact-SQL)
sp_bindrule (Transact-SQL) sp_bindrule (Transact-SQL)
sp_helptext (Transact-SQL) sp_helptext (Transact-SQL)
Procedimentos armazenados do sistema (Transact-SQL)System Stored Procedures (Transact-SQL)