Nota
L'accesso a questa pagina richiede l'autorizzazione. È possibile provare ad accedere o modificare le directory.
L'accesso a questa pagina richiede l'autorizzazione. È possibile provare a modificare le directory.
Applica a:SQL Server
Disassocia, o rimuove, un valore predefinito da una colonna o da un tipo di dati alias nel database corrente.
Importante
Questa funzionalità verrà rimossa in una versione futura di SQL Server. Evitare di usare questa funzionalità in un nuovo progetto di sviluppo e prevedere interventi di modifica nelle applicazioni in cui è attualmente implementata. Creare definizioni predefinite usando la DEFAULT parola chiave nelle istruzioni ALTER TABLE o CREATE TABLE .
convenzioni di sintassi Transact-SQL
Sintassi
sp_unbindefault
[ @objname = ] N'objname'
[ , [ @futureonly = ] 'futureonly' ]
[ ; ]
Argomenti
[ @objname = ] N'objname'
Nome della tabella e della colonna, o del tipo di dati alias, da cui annullare l'associazione del valore predefinito. @objname è nvarchar(776), senza impostazione predefinita. SQL Server tenta di risolvere prima di tutto gli identificatori in due parti in nomi di colonna, quindi ai tipi di dati alias.
Quando si disassocia un valore predefinito da un tipo di dati alias, vengono disassociate anche le colonne di tale tipo di dati con lo stesso valore predefinito. Le colonne di tale tipo di dati a cui il valore predefinito è associato in modo diretto non vengono modificate.
Nota
@objname può contenere parentesi quadre [] come caratteri identificatori delimitati. Per altre informazioni, vedere Identificatori di database.
[ @futureonly = ] 'futureonly'
Utilizzato solo quando si annulla l'associazione di un valore predefinito da un tipo di dati alias.
@futureonly è varchar(15), con il valore predefinito NULL. Quando @futureonly è futureonly, le colonne esistenti del tipo di dati non perdono il valore predefinito specificato.
Valori del codice restituito
0 (esito positivo) o 1 (errore).
Osservazioni:
Per visualizzare il testo di un valore predefinito, eseguire sp_helptext con il nome del valore predefinito come parametro.
Autorizzazioni
Per annullare l'associazione di un valore predefinito da una colonna di tabella, è necessaria ALTER l'autorizzazione per la tabella. Per annullare l'associazione di un valore predefinito da un tipo di dati alias, è necessaria CONTROL l'autorizzazione per il tipo o ALTER l'autorizzazione per lo schema a cui appartiene il tipo.
Esempi
R. Annullare l'associazione di un valore predefinito da una colonna
Nell'esempio seguente viene disassociato il valore predefinito dalla colonna hiredate di una tabella employees.
EXECUTE sp_unbindefault 'employees.hiredate';
B. Annullare l'associazione di un valore predefinito da un tipo di dati alias
Nell'esempio seguente viene disassociato il valore predefinito dal tipo di dati alias ssn. La disassociazione viene applicata sia alle colonne di tale tipo di dati già esistenti che a quelle che verranno create in futuro.
EXECUTE sp_unbindefault 'ssn';
C. Usare il futureonly_flag
Nell'esempio seguente la disassociazione viene impostata per i futuri utilizzi del tipo di dati alias ssn senza alterare le colonne ssn esistenti.
EXECUTE sp_unbindefault 'ssn', 'futureonly';
D. Usare identificatori delimitati
Nell'esempio seguente viene illustrato l'uso di identificatori delimitati nel parametro @objname . Il nome t.3 della tabella contiene un punto, quindi sono necessari delimitatori tra parentesi quadre.
sp_unbindefault Nella chiamata, il primo punto fa parte del nome della tabella e il secondo separa il nome della tabella dal nome della colonna.
CREATE TABLE [t.3] (c1 INT);
CREATE DEFAULT default2 AS 0;
GO
EXECUTE sp_bindefault 'default2', '[t.3].c1';
EXECUTE sp_unbindefault '[t.3].c1';