Compartilhar via


sp_unbindrule (Transact-SQL)

Aplica-se: SQL Server

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

Importante

Esse recurso será removido em uma versão futura do SQL Server. Evite usar esse recurso em desenvolvimentos novos e planeje modificar os aplicativos que atualmente o utilizam. Recomendamos que você crie definições padrão usando a palavra-chave DEFAULT nas instruções ALTER TABLE ou CREATE TABLE .

Convenções de sintaxe de Transact-SQL

Sintaxe

sp_unbindrule
    [ @objname = ] N'objname'
    [ , [ @futureonly = ] 'futureonly' ]
[ ; ]

Argumentos

@objname [ = ] n'objname'

O nome da tabela e da coluna ou o tipo de dados de alias do qual a regra está desvinculada. @objname é nvarchar(776), sem padrão. O SQL Server tenta resolver identificadores de duas partes para nomes de coluna primeiro e, em seguida, para tipos de dados de 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ção

@objname podem conter colchetes [] como caracteres identificadores delimitados. Para obter mais informações, consulte Identificadores de banco de dados.

@futureonly [ = ] 'somente futuro'

Usado somente ao desvincular uma regra de um tipo de dados de alias. @futureonly é varchar(15), com um padrão de NULL. Quando @futureonly é futureonly, as colunas existentes desse tipo de dados não perdem a regra especificada.

Valores do código de retorno

0 (sucesso) ou 1 (falha).

Comentários

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

Quando uma regra é desassociada, as informações sobre a associação são removidas da sys.columns tabela se a regra foi associada a uma coluna e da sys.types tabela se a regra foi associada a um tipo de dados de alias.

Quando uma regra é desassociada de um tipo de dados de alias, ela também é desvinculada de todas as colunas que tenham esse tipo de dados de alias. A regra também pode ainda estar associada a colunas cujos tipos de dados foram alterados posteriormente pela cláusula ALTER COLUMN de uma instrução ALTER TABLE, você deve desvincular especificamente a regra dessas colunas usando sp_unbindrule e especificando 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

R. Desvincular 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. Desvincular 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. Use 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. Usar identificadores delimitados

O exemplo a seguir mostra o uso de identificadores delimitados no parâmetro @objname . Observe o ponto como parte do nome da tabela. sp_bindrule Na parte, o objeto contém dois pontos; o primeiro faz parte do nome da tabela e o segundo distingue o nome da tabela do nome da coluna.

CREATE TABLE [t.4] (c1 int);
GO
CREATE RULE rule2 AS @value > 100;
GO
EXEC sp_bindrule rule2, '[t.4].c1'
GO
EXEC sp_unbindrule '[t.4].c1';