sp_unbindefault (Transact-SQL)
將預設值和資料行或目前資料庫中之別名資料類型解除繫結,或移除其預設值。
重要事項 |
---|
下一版的 Microsoft SQL Server 將不再提供此功能。請勿在新的開發工作中使用此功能,並且儘速修改使用此功能的應用程式。 我們建議您改用 ALTER TABLE 或 CREATE TABLE 陳述式的 DEFAULT 關鍵字來建立預設定義。如需詳細資訊,請參閱<建立和修改 DEFAULT 定義>。 |
語法
sp_unbindefault [ @objname = ] 'object_name'
[ , [ @futureonly = ] 'futureonly_flag' ]
引數
[@objname= ] 'object_name'
這是預設值將解除繫結的資料表和資料行或別名資料類型的名稱。object_name 是 nvarchar(776),沒有預設值。SQL Server 會試圖先將兩部份識別碼解析成資料行名稱,再解析成別名資料類型。當您將預設值和別名資料類型解除繫結時,也會解除繫結這個資料類型有相同預設值的任何資料行。直接繫結預設值之資料類型的資料行不受影響。
[!附註]
object_name 可以包含方括號 [] 來作為分隔識別碼字元。如需詳細資訊,請參閱<分隔識別碼 (Database Engine)>。
[@futureonly= ] 'futureonly_flag'
只有解除繫結別名資料類型的預設值時,才使用這個項目。futureonly_flag 是 varchar(15),預設值是 NULL。當 futureonly_flag 是 futureonly 時,這個資料類型現有的資料行不會失去指定的預設值。
傳回碼值
0 (成功) 或 1 (失敗)
備註
若要顯示預設值的文字,請將預設值名稱設為參數來執行 sp_helptext。
權限
將預設值和資料表資料行解除繫結,需要資料表的 ALTER 權限。將預設值和別名資料類型解除繫結,需要類型的 CONTROL 權限,或類型所屬結構描述的 ALTER 權限。
範例
A. 將預設值和資料行解除繫結
下列範例會將預設值和 employees 資料表的 hiredate 資料行解除繫結。
EXEC sp_unbindefault 'employees.hiredate'
B. 將預設值和別名資料類型解除繫結
下列範例會將預設值和別名資料類型 ssn 解除繫結。它會將這個類型的現有和未來資料行解除繫結。
EXEC sp_unbindefault 'ssn'
C. 使用 futureonly_flag
下列範例會為別名資料類型 ssn 未來的使用解除繫結,且不會影響現有的 ssn 資料行。
EXEC sp_unbindefault 'ssn', 'futureonly'
D. 使用分隔的識別碼
下列範例會顯示如何在 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'