更新現(xiàn)有擴(kuò)展屬性的值。
sp_updateextendedproperty
[@name =]{'property_name'
}
[, [@value =]{'value'
}
[, [@level0type =]{'level0_object_type'
}
, [@level0name =]{'level0_object_name'
}
[, [@level1type =]{'level1_object_type'
}
, [@level1name =]{'level1_object_name'
}
[, [@level2type =]{'level2_object_type'
}
, [@level2name =]{'level2_object_name'
}
]
]
]
]
[@name =]{'property_name'}
是要更新的屬性名稱。property_name 的數(shù)據(jù)類型為 sysname,且不能是 NULL。
[@value =]{'value'}
是與屬性相關(guān)聯(lián)的值。value 的數(shù)據(jù)類型為 sql_variant,其默認(rèn)值為 NULL。value 的大小不能超過 7,500 字節(jié);否則 SQL Server™ 會(huì)產(chǎn)生錯(cuò)誤。
[@level0type =]{'level0_object_type'}
用戶或用戶定義類型。level0_object_type 的數(shù)據(jù)類型為 varchar(128),其默認(rèn)值為 NULL。有效的輸入是 USER、TYPE 和 NULL。
[@level0name =]{'level0_object_name'}
是指定的 1 級(jí)對(duì)象類型的名稱。level0_object_name 的數(shù)據(jù)類型為 sysname,默認(rèn)設(shè)置為 NULL。
[@level1type =]{'level1_object_type'}
是 1 級(jí)對(duì)象的類型。level1_object_type 的數(shù)據(jù)類型為 varchar(128),默認(rèn)設(shè)置為 NULL。有效的輸入是 TABLE、VIEW、PROCEDURE、FUNCTION、DEFAULT、RULE 和 NULL。
[@level1name =]{'level1_object_name'}
是指定的 1 級(jí)對(duì)象類型的名稱。level1_object_name 的數(shù)據(jù)類型為 sysname,默認(rèn)設(shè)置為 NULL。
[@level2type =]{'level2_object_type'}
2 級(jí)對(duì)象的類型。level2_object_type 的數(shù)據(jù)類型為 varchar(128),默認(rèn)設(shè)置為 NULL。有效的輸入是 COLUMN、PARAMETER、INDEX、CONSTRAINT、TRIGGER 和 NULL。
[@level2name =]{'level2_object_name'}
是指定的 2 級(jí)對(duì)象類型的名稱。level2_object_name 的數(shù)據(jù)類型為 sysname,默認(rèn)設(shè)置為 NULL。
0(成功)或 1(失?。?/P>
系統(tǒng)對(duì)象不允許有擴(kuò)展屬性。
對(duì)象是按級(jí)別區(qū)分的,0 級(jí)為最高,2 級(jí)為最低。當(dāng)用戶添加、更新或刪除擴(kuò)展屬性時(shí),必須指定所有更高級(jí)別的對(duì)象。例如,如果用戶要向 1 級(jí)對(duì)象添加擴(kuò)展屬性,就必須指定所有 0 級(jí)信息。如果用戶要向 2 級(jí)對(duì)象添加擴(kuò)展屬性,就必須提供關(guān)于 0 級(jí)和 1 級(jí)的所有信息。
在每個(gè)級(jí)別上,對(duì)象類型和對(duì)象名可唯一地標(biāo)識(shí)對(duì)象。如果指定了一個(gè)對(duì)中的任一方,則必須指定另一方。
給定有效的 property_name 和 value,如果所有的對(duì)象類型和名稱均為空值,那么要更新的屬性就屬于當(dāng)前數(shù)據(jù)庫。如果指定對(duì)象類型和名稱,則還必須指定父對(duì)象和類型。否則,SQL Server 會(huì)產(chǎn)生錯(cuò)誤。
db_owner 和 db_ddladmin 固定數(shù)據(jù)庫角色的成員可以更新任何對(duì)象的擴(kuò)展屬性。用戶可以對(duì)其所擁有的對(duì)象更新擴(kuò)展屬性。但是,只有 db_owner 才可以更新用戶名屬性。
下例為表"T1"中的"ID"列更新屬性("caption","Employee 1 ID")。
CREATE table T1 (id int , name char (20))
EXEC sp_addextendedproperty 'caption', 'Employee ID', 'user', dbo, 'table', 'T1', 'column', id
EXEC sp_updateextendedproperty 'caption', 'Employee 1 ID', 'user', dbo, 'table', 'T1', 'column', id
相關(guān)文章