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