sp_unbindefault (Transact-SQL)
將預設值和資料行或目前資料庫中之別名資料類型解除繫結,或移除其預設值。
重要事項 |
---|
下一版的 Microsoft SQL Server 將不再提供此功能。請勿在新的開發工作中使用此功能,並且儘速修改使用此功能的應用程式。我們建議您改用 ALTER TABLE 或 CREATE TABLE 陳述式的 DEFAULT 關鍵字來建立預設定義。 |
適用於:SQL Server (SQL Server 2008 至目前版本)。 |
語法
sp_unbindefault [ @objname = ] 'object_name'
[ , [ @futureonly = ] 'futureonly_flag' ]
引數
[ @objname= ] 'object_name'
這是預設值將解除繫結的資料表和資料行或別名資料類型的名稱。 object_name 是 nvarchar(776),沒有預設值。 SQL Server 會試圖先將兩部分識別碼解析成資料行名稱,再解析成別名資料類型。當您將預設值和別名資料類型解除繫結時,也會解除繫結這個資料類型有相同預設值的任何資料行。 直接繫結預設值之資料類型的資料行不受影響。
注意
object_name 可以包含方括號 [] 來作為分隔識別碼字元。如需詳細資訊,請參閱<資料庫識別碼>。
[ @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';