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 funzionalità verrà rimossa a partire dalla prossima versione di Microsoft SQL Server. Non utilizzare questa funzionalità in un nuovo progetto di sviluppo e modificare non appena possibile le applicazioni in cui è attualmente implementata. È consigliabile creare definizioni predefinite utilizzando la parola chiave DEFAULT nell'istruzione ALTER TABLE o CREATE TABLE. |
Convenzioni della sintassi Transact-SQL
Sintassi
sp_unbindefault [ @objname = ] 'object_name'
[ , [ @futureonly = ] 'futureonly_flag' ]
Argomenti
[ @objname= ] 'object_name'
Nome della tabella e della colonna o tipo di dati alias da cui si desidera disassociare il valore predefinito. object_name è di tipo nvarchar(776) e non prevede alcun valore predefinito. Tramite SQL Server si tenta innanzitutto di risolvere gli identificatori costituiti da due parti in nomi di colonne e quindi 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 del database.
[ @futureonly= ] 'futureonly_flag'
Utilizzato solo per disassociare 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'
Vedere anche
Riferimento
Stored procedure di sistema (Transact-SQL)