微信公众号搜"智元新知"关注
微信扫一扫可直接关注哦!

获取SqlServer2005表结构(字段,主键,外键,递增,描述)

转自:http://hi.baidu.com/kangasp/blog/item/06e51108c7e158d962d986d8.html

1.获取表的基本字段属性

-- 获取sqlServer中表结构
SELECT syscolumns.name,systypes.name,syscolumns.isnullable,
syscolumns.length
FROM syscolumns,systypes
WHERE syscolumns.xusertype = systypes.xusertype
AND syscolumns.id = object_id ( ' 你的表名 ' )

运行效果


2.如果还想要获取字段的描述信息则

-- 获取sqlServer中表结构 主键,及描述
declare @table_name as varchar ( max )
set @table_name = ' 你的表名 '
select sys.columns.name,sys.types.name,sys.columns.max_length,sys.columns.is_nullable,
   (
select count ( * ) from sys.identity_columns where sys.identity_columns. object_id = sys.columns. object_id and sys.columns.column_id = sys.identity_columns.column_id) as is_identity,
   (
select value from sys.extended_properties where sys.extended_properties.major_id = sys.columns. object_id and sys.extended_properties.minor_id = sys.columns.column_id) as description
  
from sys.columns,sys.tables,sys.types where sys.columns. object_id = sys.tables. object_id and sys.columns.system_type_id = sys.types.system_type_id and sys.tables.name = @table_name order by sys.columns.column_id

运行效果


3.单独查询表的递增字段

-- 单独查询表递增字段
select [ name ] from syscolumns where
id
= object_id (N ' 你的表名 ' ) and COLUMNPROPERTY (id,name, ' IsIdentity ' ) = 1

运行效果


4.获取表的主外键

-- 获取表主外键约束
exec sp_helpconstraint    ' 你的表名 ' ;
运行效果




sql Server表描述 及 字段描述的增、删、改、查询


--创建表及描述信息

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'column',N'a1'

--为字段a2添加描述信息
EXECUTE   sp_addextendedproperty   N'MS_Description','性别',N'a2'
--更新表中列a1的描述属性:
EXEC   sp_updateextendedproperty   'MS_Description','字段1','user',dbo,'table','表','column',a1

--删除表中列a1的描述属性:
EXEC   sp_dropextendedproperty   'MS_Description',a1

--删除测试
drop   table   表 

至于查询出来,sql server有提供系统函数fn_listextendedproperty ():

--获取一个字段的描述
SELECT   *
FROM   ::fn_listextendedproperty (NULL,'dbo','表名',default)--其他变数,按照你的要求你照写即可,只要表名换成你的
where objname = '字段名'



EXEC sys.sp_addextendedproperty @name=N'MS_Description',@value=N'城市名称',@level0type=N'SCHEMA',@level0name=N'dbo',@level1type=N'TABLE',@level1name=N'tbl_City',@level2type=N'COLUMN',@level2name=N'cCity_Name'

版权声明:本文内容由互联网用户自发贡献,该文观点与技术仅代表作者本人。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌侵权/违法违规的内容, 请发送邮件至 [email protected] 举报,一经查实,本站将立刻删除。

相关推荐