sp_unbindefault (Transact-SQL)

將預設值和資料行或目前資料庫中之別名資料類型解除繫結,或移除其預設值。

重要事項重要事項

下一版的 Microsoft SQL Server 將不再提供此功能。請勿在新的開發工作中使用此功能,並且儘速修改使用此功能的應用程式。 我們建議您改用 ALTER TABLECREATE TABLE 陳述式的 DEFAULT 關鍵字來建立預設定義。如需詳細資訊,請參閱<建立和修改 DEFAULT 定義>。

主題連結圖示Transact-SQL 語法慣例

語法

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'