取得SQLServer字段的詳細(xì)解說(shuō)
文章主要描述的是取得SQLServer字段的詳細(xì)解說(shuō),在實(shí)際操作中又是我們會(huì)涉及到SQLServer字段的獲取,那么如何正確的獲取SQLServer字段呢?以下的文章主要是正對(duì)這個(gè)問(wèn)題給出的詳細(xì)解答方案。
- fn_listextendedproperty
返回?cái)?shù)據(jù)庫(kù)對(duì)象的擴(kuò)展屬性值。 語(yǔ)法
- fn_listextendedproperty (
- { default | [ @name = ] 'property_name' | NULL }
- , { default | [ @level0type = ] 'level0_object_type' | NULL
- fn_listextendedproperty
返回?cái)?shù)據(jù)庫(kù)對(duì)象的擴(kuò)展屬性值。 語(yǔ)法
- fn_listextendedproperty (
- { default | [ @name = ] 'property_name' | NULL }
- , { default | [ @level0type = ] 'level0_object_type' | NULL }
- , { default | [ @level0name = ] 'level0_object_name' | NULL }
- , { default | [ @level1type = ] 'level1_object_type' | NULL }
- , { default | [ @level1name = ] 'level1_object_name' | NULL }
- , { default | [ @level2type = ] 'level2_object_type' | NULL }
- , { default | [ @level2name = ] 'level2_object_name' | NULL }
- )
參數(shù)
- {default|[@name =] 'property_name'|NULL}
取得SQLServer字段是屬性的名稱。property_name 為 sysname 類型。有效的輸入為 default、NULL 或?qū)傩悦?/p>
- {default|[@level0type =] 'level0_object_type'|NULL}
用戶或用戶定義類型。level0_object_type 的數(shù)據(jù)類型為 varchar(128),其默認(rèn)值為 NULL。有效的輸入是 USER、TYPE、default 和 NULL。
- {default|[@level0name =] 'level0_object_name'|NULL}
指定的 0 級(jí)對(duì)象類型的名稱。level0_object_name 的數(shù)據(jù)類型為 sysname,其默認(rèn)值為 NULL。有效的輸入為 default、NULL 或?qū)ο竺?/p>
- {default|[@level1type =] 'level1_object_type'|NULL}
1 級(jí)對(duì)象的類型。level1_object_type 的數(shù)據(jù)類型為 varchar(128),其默認(rèn)值為 NULL。有效的輸入為 TABLE、VIEW、PROCEDURE、FUNCTION、DEFAULT、RULE、default 和 NULL。
說(shuō)明 默認(rèn)映射 NULL,而"default"映射對(duì)象類型 DEFAULT。
- {default|[@level1name =] 'level1_object_name'|NULL}
取得SQLServer字段指定的 1 級(jí)對(duì)象類型的名稱。level1_object_name 的數(shù)據(jù)類型為 sysname,其默認(rèn)值為 NULL。有效的輸入為 default、NULL 或?qū)ο竺?/p>
- {default|[@level2type =] 'level2_object_type'|NULL}
2 級(jí)對(duì)象的類型。level2_object_type 的數(shù)據(jù)類型為 varchar(128),其默認(rèn)值為 NULL。有效的輸入為 COLUMN、PARAMETER、INDEX、CONSTRAINT、TRIGGER、DEFAULT、default(映射 NULL)和 NULL。
- {default|[@level2name =] 'level2_object_name'|NULL}
指定的 2 級(jí)對(duì)象類型的名稱。level2_object_name 的數(shù)據(jù)類型為 sysname,其默認(rèn)值為 NULL。有效的輸入為 default、NULL 或?qū)ο竺?/p>
返回表下面是 fn_listextendedproperty 返回的表的格式。
列名 數(shù)據(jù)類型
- objtype sysname
- objname sysname
- name sysname
- value sql_variant
如果返回的表為空,可能對(duì)象沒(méi)有擴(kuò)展屬性或用戶沒(méi)有列出對(duì)象擴(kuò)展屬性的權(quán)限。
注釋系統(tǒng)對(duì)象不允許有擴(kuò)展屬性。
如果 property_name 的值為 NULL 或 default,fn_listextendedproperty 返回對(duì)象的所有屬性。
如果指定了對(duì)象類型且相應(yīng)的對(duì)象名的值為 NULL 或 default,則 fn_listextendedproperty 返回指定類型的所有對(duì)象的所有擴(kuò)展屬性。
對(duì)象是按級(jí)別區(qū)分的,0 級(jí)為***,2 級(jí)為***。如果指定了較低級(jí)別的對(duì)象(1 或 2 級(jí))類型和名稱,則父對(duì)象類型和名稱的值不能為 NULL 或 default。否則,函數(shù)將返回錯(cuò)誤。
用于列出某些級(jí)別對(duì)象類型的擴(kuò)展屬性的權(quán)限有所不同。
對(duì)于級(jí)別 0 的對(duì)象,如果某用戶為級(jí)別 0 的名稱中所標(biāo)識(shí)的用戶,或者是 db_owner 和 db_ddladmin 固定數(shù)據(jù)庫(kù)角色的成員,則該用戶可以列出指定"user"類型的擴(kuò)展屬性。
取得SQLServer字段所有用戶可使用 0 級(jí)對(duì)象類型"type"列出擴(kuò)展屬性。
對(duì)于 1 級(jí)對(duì)象,如果用戶為對(duì)象的所有者或用戶對(duì)于對(duì)象有權(quán)限,該用戶可以用任何有效的類型值列出擴(kuò)展屬性。
對(duì)于 2 級(jí)對(duì)象,如果當(dāng)前用戶對(duì)父對(duì)象(1 級(jí)和 0級(jí))有任何權(quán)限,該用戶可以用任何有效的類型值列出擴(kuò)展屬性。 示例此示例列出數(shù)據(jù)庫(kù)的所有擴(kuò)展屬性。
- SELECT *
- FROM ::fn_listextendedproperty(NULL, NULL, NULL, NULL, NULL, NULL, NULL)
-或-
- SELECT *
- FROM ::fn_listextendedproperty(default, default, default, default, default, default, default)
此示例列出表"T1"中所有列的所有擴(kuò)展屬性。
- CREATE table T1 (id int , name char (20))
- EXEC sp_addextendedproperty 'caption', 'Employee ID', 'user', dbo, 'table', 'T1', 'column', id
- EXEC sp_addextendedproperty 'caption', 'Employee Name', 'user', dbo, 'table', 'T1', 'column', name
- SELECT *
- FROM ::fn_listextendedproperty (NULL, 'user', 'dbo', 'table', 'T1', 'column', default
)
下面是結(jié)果集:
- objtype objname name value
- COLUMN id caption Employee ID
- COLUMN name caption Employee N
以上的相關(guān)內(nèi)容就是對(duì)取得SQLServer字段的介紹,望你能有所收獲。
【編輯推薦】
- SQL Server 2008 R2進(jìn)入到RTM 會(huì)有哪些新特性?
- C#來(lái)對(duì)SQL Server存儲(chǔ)過(guò)程進(jìn)行創(chuàng)建
- SQL Server索引的使用誤區(qū)講述
- SQL Server索引實(shí)際結(jié)構(gòu)的理解
- 添加Microsoft SQL Server 2000 Desktop Engine



















