sp_unbindrule (Transact-SQL)
Disassocia una regola da una colonna o da un tipo di dati alias nel database corrente.
![]() |
---|
Questa funzionalità verrà rimossa in una delle prossime versioni di Microsoft SQL Server. Evitare di utilizzare questa funzionalità in un nuovo progetto di sviluppo e prevedere interventi di modifica nelle applicazioni in cui è attualmente implementata. È consigliabile creare definizioni predefinite utilizzando la parola chiave DEFAULT nell'istruzione ALTER TABLE o CREATE TABLE. Per ulteriori informazioni, vedere Creazione e modifica delle definizioni DEFAULT. |
Convenzioni della sintassi Transact-SQL
Sintassi
sp_unbindrule [ @objname = ] 'object_name'
[ , [ @futureonly = ] 'futureonly_flag' ]
Argomenti
[ @objname= ] 'object_name'
Nome della tabella e della colonna o tipo di dati alias la cui regola viene disassociata. object_name è di tipo nvarchar(776) e non prevede alcun valore predefinito. SQL Server tenta innanzitutto di risolvere gli identificatori costituiti da due parti in nomi di colonne e quindi in tipi di dati alias. La disassociazione di una regola da un tipo di dati alias viene estesa anche alle colonne dello stesso tipo di dati a cui è applicata la regola. Non vengono tuttavia modificate le colonne di questo stesso tipo di dati a cui la regola è associata in modo diretto.
[!NOTA] object_name può contenere parentesi quadre [] come caratteri delimitatori degli identificatori. Per ulteriori informazioni, vedere Identificatori delimitati (Motore di database).
[ @futureonly= ] 'futureonly_flag'
Utilizzato solo per disassociare una regola da un tipo di dati alias. futureonly_flag è di tipo varchar(15) e il valore predefinito è NULL. Quando futureonly_flag è di tipo futureonly, la regola specificata non viene disassociata dalle colonne esistenti di tale tipo di dati.
Osservazioni
Per visualizzare il testo di una regola, eseguire sp_helptext specificando il nome della regola come parametro.
Quando si disassocia una regola, le informazioni relative all'associazione vengono rimosse dalla tabella sys.columns se la regola è associata a una colonna oppure dalla tabella sys.types se la regola è associata a un tipo di dati alias.
Una regola disassociata da un tipo di dati alias viene disassociata anche dalle colonne a cui è applicato tale tipo di dati. La regola potrebbe tuttavia rimanere associata alle colonne in cui il tipo di dati è stato modificato successivamente tramite la clausola ALTER COLUMN di un'istruzione ALTER TABLE. È pertanto necessario disassociare la regola da queste colonne in modo esplicito tramite sp_unbindrule specificando il nome delle colonne.
Autorizzazioni
Per disassociare una regola dalla colonna di una tabella è necessaria l'autorizzazione ALTER sulla tabella. Per disassociare una regola da un tipo di dati alias è necessaria l'autorizzazione CONTROL sul tipo di dati o l'autorizzazione ALTER sullo schema a cui appartiene il tipo.
Valori restituiti
0 (esito positivo) o 1 (esito negativo)
Esempi
A. Disassociazione di una regola da una colonna
Nell'esempio seguente la regola viene disassociata dalla colonna startdate
di una tabella employees
.
EXEC sp_unbindrule 'employees.startdate'
B. Disassociazione di una regola da un tipo di dati alias
Nell'esempio seguente la regola viene disassociata dal tipo di dati alias ssn
. La disassociazione viene applicata alle colonne di questo tipo di dati, sia esistenti che create successivamente.
EXEC sp_unbindrule ssn
C. Utilizzo di futureonly_flag
Nell'esempio seguente la regola viene disassociata dal tipo di dati alias ssn
senza influire sulle colonne ssn
esistenti.
EXEC sp_unbindrule 'ssn', 'futureonly'
D. Utilizzo di identificatori delimitati
Nell'esempio seguente viene illustrato l'utilizzo di identificatori delimitati nel parametro 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'
Vedere anche
Riferimento
Stored procedure di sistema (Transact-SQL)
Stored procedure del Motore di database (Transact-SQL)
CREATE RULE (Transact-SQL)
DROP RULE (Transact-SQL)
sp_bindrule (Transact-SQL)
sp_helptext (Transact-SQL)
Stored procedure di sistema (Transact-SQL)