sp_unbindefault (Transact-SQL)
Disassocia, o rimuove, un valore predefinito da una colonna o da un tipo di dati alias nel database corrente.
Importante |
---|
Questa caratteristica verrà rimossa a partire dalla prossima versione di Microsoft SQL Server. Non utilizzare questa caratteristica in un nuovo progetto di sviluppo e modificare non appena possibile le applicazioni in cui è attualmente implementata. È consigliabile creare le definizioni di valore predefinito tramite l'aggiunta della parola chiave DEFAULT nell'istruzione ALTER TABLE o CREATE TABLE in alternativa. Per ulteriori informazioni, vedere Creazione e modifica delle definizioni DEFAULT. |
Sintassi
sp_unbindefault [ @objname = ] 'object_name'
[ , [ @futureonly = ] 'futureonly_flag' ]
Argomenti
[ @objname= ] 'object_name'
Nome della tabella e della colonna o del tipo di dati alias da cui si desidera disassociare il valore predefinito. object_name è di tipo nvarchar(776) e non prevede alcun valore predefinito. SQL Server tenta di risolvere gli identificatori composti da due parti prima in nomi di colonna e poi in 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]
object_name può contenere parentesi [] come identificatori delimitati. Per ulteriori informazioni, vedere Identificatori delimitati (Motore di database).
[ @futureonly= ] 'futureonly_flag'
Viene utilizzato solo quando si disassocia un valore predefinito da un tipo di dati alias. futureonly_flag è di tipo varchar(15) e il valore predefinito è NULL. Quando il valore di futureonly_flag è futureonly, nelle colonne esistenti del tipo di dati il valore predefinito specificato non viene disassociato.
Valori restituiti
0 (esito positivo) o 1 (esito negativo)
Osservazioni
Per visualizzare il testo di un valore predefinito, eseguire la stored procedure sp_helptext specificando il nome del valore predefinito come parametro.
Autorizzazioni
Per disassociare un valore predefinito da una colonna di una tabella, è necessario disporre dell'autorizzazione ALTER per la tabella. Per disassociare un valore predefinito da un tipo di dati alias, è necessario disporre dell'autorizzazione CONTROL per il tipo o dell'autorizzazione ALTER per lo schema a cui il tipo appartiene.
Esempi
A. Disassociazione di un valore predefinito da una colonna
Nell'esempio seguente viene disassociato il valore predefinito dalla colonna hiredate di una tabella employees.
EXEC sp_unbindefault 'employees.hiredate'
B. Disassociazione 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.
EXEC sp_unbindefault 'ssn'
C. Utilizzo di 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.
EXEC sp_unbindefault 'ssn', 'futureonly'
D. Utilizzo di identificatori delimitati
Nell'esempio seguente viene illustrato l'utilizzo di identificatori delimitati nel parametro object_name .
CREATE TABLE [t.3] (c1 int) -- Notice the period as part of the table
-- name.
CREATE DEFAULT default2 AS 0
GO
EXEC sp_bindefault 'default2', '[t.3].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.
EXEC sp_unbindefault '[t.3].c1'