语法

 
sp_addextendedproperty
[ @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' }
]
]
]
]

备注

为了指定扩展属性,SQL Server 数据库中的对象分为三个级别(0、1 和 2)。级别 0 是最高级别,定义为包含在数据库作用域中的对象。级别 1 的对象包含在架构作用域或用户作用域中,而级别 2 的对象包含在级别 1 对象中。可以为这些级别中任一级别的对象定义扩展属性。

引用某个级别中的对象必须用拥有或包含它们的更高级别对象的名称进行限制。例如,当将扩展属性添加到表列(级别 2)时,还必须指定包含该列的表名(级别 1)以及包含该表的架构(级别 0)。

有关对象及其有效的级别 0、1 和 2 类型的完整列表,请参阅对数据库对象使用扩展属性。

如果所有对象类型和名称都为空,则属性属于当前数据库本身。

对于系统对象、用户定义数据库的作用域以外的对象或者未在 Arguments 中作为有效输入列出的对象,不允许使用扩展属性。

架构与用户

在 SQL Server 的早期版本中,用户拥有表、视图和触发器之类的数据库对象。因此,允许将扩展属性添加到这些对象之一以及将用户名指定为级别 0 类型。但在 SQL Server 2005 中,数据库对象包含在架构中。它们独立于拥有架构的用户。

在 SQL Server 2005 中,我们建议不要在将扩展属性应用于数据库对象时指定 USER 作为级别 0 类型,因为这会导致名称解析不明确。例如,假定用户 Mary 拥有两个架构(Mary 和 MySchema),并且这两个架构都包含名为 MyTable 的表。如果 Mary 将扩展属性添加到表 MyTable 并指定 @level0type = N'USER'、@level0name = Mary,则扩展属性应用于哪个表并不明确。为了保持向后兼容,SQL Server 将属性应用于名为 Mary 的架构所包含的表。有关用户与架构的详细信息,请参阅用户架构分离。

参数

[ @name ] = { 'property_name' }

要添加的属性的名称。property_name 的数据类型为 sysname,不能为 NULL。名称还可以包括空格或非字母数字字符串以及二进制值。

[ @value = ] { 'value' }

要与属性关联的值。value 的数据类型为 sql_variant,默认值为 NULL。value 的大小不能超过 7,500 个字节。

[ @level0type = ] { 'level0_object_type' }

级别 0 对象的类型。level0_object_type 的数据类型为 varchar(128),默认值为 NULL。

有效的输入包括:ASSEMBLY、CONTRACT、EVENT NOTIFICATION、FILEGROUP、MESSAGE TYPE、PARTITION FUNCTION、PARTITION SCHEME、REMOTE SERVICE BINDING、ROUTE、SCHEMA、SERVICE、USER、TRIGGER、TYPE 和 NULL。

重要事项:
作为级别 0 类型的 USER 和 TYPE 将在 SQL Server 的未来版本中删除。请避免在新的开发工作中使用这些功能,并考虑修改当前使用这些功能的应用程序。改用 SCHEMA 代替 USER 作为级别 0 类型。对于 TYPE,请使用 SCHEMA 作为级别 0 类型,使用 TYPE 作为级别 1 类型。
[ @level0name = ] { 'level0_object_name' }

所指定的级别 0 对象类型的名称。level0_object_name 的数据类型为 sysname,默认值为 NULL。

[ @level1type = ] { 'level1_object_type' }

级别 1 对象的类型。level1_object_type 的数据类型为 varchar(128),默认值为 NULL。有效的输入包括:AGGREGATE、DEFAULT、FUNCTION、LOGICAL FILE NAME、PROCEDURE、QUEUE、RULE、SYNONYM、TABLE、TYPE、VIEW、XML SCHEMA COLLECTION 和 NULL。

[ @level1name = ] { 'level1_object_name' }

所指定的级别 1 对象类型的名称。level1_object_name 的数据类型为 sysname,默认值为 NULL。

   
[ @level2type = ] { 'level2_object_type' }

级别 2 对象的类型。level2_object_type 的数据类型为 varchar(128),默认值为 NULL。有效的输入包括:COLUMN、CONSTRAINT、EVENT NOTIFICATION、INDEX、PARAMETER、TRIGGER 和 NULL。

[ @level2name = ] { 'level2_object_name' }

所指定的级别 2 对象类型的名称。level2_object_name 的数据类型为 sysname,默认值为 NULL。

返回代码值

0(成功)或 1(失败)

EXEC sys.sp_addextendedproperty @name=N'MS_Description', @value=N'0:取消,1:已到,2:未到,3:预订违约' ,@level0type=N'SCHEMA', @level0name=N'dbo', @level1type=N'TABLE', @level1name=N'Tab_Passenger', @level2type=N'COLUMN', @level2name=N'PassengerState'

-表及字段描述信息处理示例

--创建表
  create table 表(a1 varchar(10),a2 char(2))  --为表添加描述信息
 EXECUTE sp_addextendedproperty N'MS_Description', '人员信息表', N'user', N'dbo', N'table', N'表', NULL, NULL
--为字段a1添加描述信息
 EXECUTE sp_addextendedproperty N'MS_Description', '姓名', N'user', N'dbo', N'table', N'表', N'column', N'a1'
--为字段a2添加描述信息
 EXECUTE sp_addextendedproperty N'MS_Description', '性别', N'user', N'dbo', N'table', N'表', N'column', N'a2'
--更新表中列a1的描述属性:
 EXEC sp_updateextendedproperty 'MS_Description','字段1','user',dbo,'table','表','column',a1

--删除表中列a1的描述属性:
 EXEC sp_dropextendedproperty 'MS_Description','user',dbo,'table','表','column',a1
--删除测试
drop table
 转载自:http://blog.csdn.net/zanychou/article/details/7403336

sqlserver 编辑、修改字段说明(备注) sp_addextendedproperty的更多相关文章

  1. sqlServer 2008修改字段类型和重命名字段名称的sql语句

    sqlServer 2008修改字段类型和重命名字段名称的sql语句 //修改字段的类型 alter table fdi_news alter column c_author nvarchar(50) ...

  2. SQLServer中修改字段为空

    ALTER 表名 table1 ALTER COLUMN [字段] 类型 NULL; 例如: ) COLLATE Chinese_PRC_CI_AS NULL;

  3. SQLSERVER操作字段约束,修改字段名称等

    -- 表加注释EXEC sys.sp_addextendedproperty @name=N'MS_Description', @value=N'注释内容' , @level0type=N'SCHEM ...

  4. SQL语句修改字段类型与第一次SQLServer试验解答

    SQL语句修改字段类型 mysql中 alert table name modify column name type; 例子:修改user表中的name属性类型为varchar(50) alert ...

  5. Sqlserver添加加字段、删除字段、修改字段类型、修改字段名、修改字段默认值

    参考:https://www.cnblogs.com/pangpanghuan/p/6432331.html 初始化表: --.添加字段 --1.1.为null alter table DataTab ...

  6. 可编辑的表格:jQuery+PHP实现实时编辑表格字段内容

    在本例中,我们会通过jQuery实现单击将一个文本信息变为可编辑的表单,你可以对文本内容进行编辑,然后点击“确定”按钮,新的内容将发送到后台PHP程序处理,并保存到数据库:当点击“取消”按钮,则页面恢 ...

  7. sql 操作常用操作语句 新增、修改字段等

    常用sql --sql 事务 BEGIN TRAN 事物名 )BEGIN ROLLBACK TRAN 事物名;RETURN;END COMMIT TRAN 事物名 --数据库清缓存 DBCC DROP ...

  8. SQL如何增删修改字段

    1: 新增字段: ) NULL EXEC sys.sp_addextendedproperty @name=N'MS_Description', @value=N'土地手续办理情况' , @level ...

  9. sql语句修改字段类型和增加字段

    /*修改字段类型*/ ) go /*增加字段和说明*/ ) EXECUTE sp_addextendedproperty N'MS_Description','说明文字',N'user',N'dbo' ...

  10. ORACLE中通过SQL语句(alter table)来增加、删除、修改字段

    1.添加字段: alter table  表名  add (字段  字段类型)  [ default  '输入默认值']  [null/not null]  ; 2.添加备注: comment on ...

随机推荐

  1. Repeated meta-data items

    B.2 Generating your own meta-data using the annotation processor You can easily generate your own co ...

  2. Photoshop技能167个经典的Photoshop技巧大全

    Photoshop技能167个经典的Photoshop技巧大全 学PS基础:Photoshop 技能167个­ 经典的Photoshop技巧大全,如果你是初级阶段的水平,熟读此文并掌握,马上进阶为中级 ...

  3. SQL中如何使用UPDATE语句进行联表更新(转)

    在本例中: 我们要用表member中的name,age字段数据去更新user中的同字段名的数据,条件是当user 中的id字段值与member中的id字段值相等时进行更新. SQL Server语法: ...

  4. Eclipse 支持jQuery 自动提示

    1.下载jQuery文件 http://download.csdn.net/detail/emoven/6294377 2.设置spket Window -> Preferences -> ...

  5. 写一个将当前页面 URL 中的 get 参数解析成一个对象的方法。

    function getQuery () { var args = {}; var query = window.location.search.substring(1); var pairs = q ...

  6. crm使用soap创建下拉框

    //C#代码 //#region OptionMetadataCollection //OptionMetadataCollection opCollection = new OptionMetada ...

  7. poj 2516 (费用流)

    题意:有N个供应商,M个店主,K种物品.每个供应商对每种物品的的供应量已知,每个店主对每种物品的需求量的已知,从不同的供应商运送不同的货物到不同的店主手上需要不同的花费,又已知从供应商m送第k种货物的 ...

  8. 【斐波拉契+数论+同余】【ZOJ3707】Calculate Prime S

    题目大意: S[n] 表示 集合{1,2,3,4,5.......n} 不存在连续元素的子集个数 Prime S 表示S[n]与之前的所有S[i]互质; 问 找到大于第K个PrimeS 能整除X 的第 ...

  9. read op case $op in

     read op case $op in

  10. win7启动后报丢失nscmk.dll解决解决方式

    1.根据当前计算机选择下载64位或者32位nscmk.dll 2.拷贝nscmk.dll到相路径(32位:%windir%\system32\:64位:%windir%\SysWOW64\nscmk. ...