Share via


sp_unbindrule (Transact-SQL)

Desvincula uma regra de uma coluna ou de um tipo de dados de alias no banco de dados atual.

Observação importanteImportante

Esse recurso será removido na próxima versão do Microsoft SQL Server. Não utilize esse recurso em desenvolvimentos novos e modifique, assim que possível, os aplicativos que atualmente o utilizam. Em vez disso, recomendamos criar definições padrão usando a palavra-chave DEFAULT nas instruções ALTER TABLE ou CREATE TABLE.

Ícone de vínculo de tópico Convenções da sintaxe Transact-SQL

Sintaxe

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

Argumentos

  • [ @objname= ] 'object_name'
    É o nome da tabela e da coluna ou o tipo de dados do alias do qual a regra é desassociada. object_name é nvarchar(776), sem padrão. O SQL Server tenta resolver identificadores de duas partes primeiro para nomes das colunas e, em seguida, para tipos de dados do alias. 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. As colunas desse tipo de dados com regras vinculadas diretamente não serão afetadas.

    ObservaçãoObservação

    object_name pode conter colchetes [ ] como caracteres de identificador delimitados. Para obter mais informações, consulte Identificadores de banco de dados.

  • [ @futureonly= ] 'futureonly_flag'
    É usado apenas ao desvincular uma regra de um tipo de dados de alias. futureonly_flag é varchar(15), com um padrão de NULL. Quando futureonly_flag é futureonly, as colunas existentes desse tipo de dados não perdem a regra especificada.

Valores de código de retorno

0 (êxito) ou 1 (falha)

Comentários

Para exibir o texto de uma regra, execute sp_helptext com o nome da regra como o parâmetro.

Quando uma regra é desvinculada, as informações sobre a vinculação são removidas da tabela sys.columns quando a regra está vinculada a uma coluna e da tabela sys.types quando ela está vinculada a um tipo de dados de alias.

Quando uma regra é desvinculada de um tipo de dados de alias, ela também é desvinculada das colunas com esse tipo de dados de alias. A regra também pode estar vinculada a colunas cujos tipos de dados tenham sido alterados posteriormente pela cláusula ALTER COLUMN de uma instrução ALTER TABLE; para desvincular especificamente a regra dessas colunas, use sp_unbindrule e especifique o nome da coluna.

Permissões

Para desvincular uma regra de uma coluna de tabela, é necessário ter a permissão ALTER na tabela. 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.

Exemplos

A.Desvinculando uma regra de uma coluna

O exemplo a seguir desvincula a regra da coluna startdate de uma tabela employees.

EXEC sp_unbindrule 'employees.startdate'

B.Desvinculando uma regra de um tipo de dados de alias

O exemplo a seguir desvincula a regra do tipo de dados de alias ssn. Ele desvincula a regra de colunas desse tipo, existentes e futuras.

EXEC sp_unbindrule ssn

C.Usando futureonly_flag

O exemplo a seguir desvincula a regra do tipo de dados de alias ssn sem afetar as colunas ssn existentes.

EXEC sp_unbindrule 'ssn', 'futureonly'

D.Usando identificadores delimitados

O exemplo a seguir mostra o uso de identificadores delimitados no 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'

Consulte também

Referência

Procedimentos armazenados do sistema (Transact-SQL)

Procedimentos armazenados do Mecanismo de Banco de Dados (Transact-SQL)

CREATE RULE (Transact-SQL)

DROP RULE (Transact-SQL)

sp_bindrule (Transact-SQL)

sp_helptext (Transact-SQL)

Procedimentos armazenados do sistema (Transact-SQL)