星辰.Net技术社区论坛

首页 » 数据库 » MSSQL » 获取SqlServer2005表结构(字段,主键,外键,递增,描述)
admin - 2008-6-23 12:12:00
1.获取表的基本字段属性 --获取SqlServer中表结构 ”n‹ƒÞwww.netcsharp.cn[„Ç0¯–~u
SELECT syscolumns.name,systypes.name,syscolumns.isnullable,”n‹ƒÞwww.netcsharp.cn[„Ç0¯–~u
syscolumns.length ”n‹ƒÞwww.netcsharp.cn[„Ç0¯–~u
FROM syscolumns, systypes ”n‹ƒÞwww.netcsharp.cn[„Ç0¯–~u
WHERE syscolumns.xusertype = systypes.xusertype ”n‹ƒÞwww.netcsharp.cn[„Ç0¯–~u
AND syscolumns.id =”n‹ƒÞwww.netcsharp.cn[„Ç0¯–~u
object_id('你的表名')”n‹ƒÞwww.netcsharp.cn[„Ç0¯–~u
运行效果”n‹ƒÞwww.netcsharp.cn[„Ç0¯–~u
”n‹ƒÞwww.netcsharp.cn[„Ç0¯–~u
2.如果还想要获取字段的描述信息则”n‹ƒÞwww.netcsharp.cn[„Ç0¯–~u
--获取SqlServer中表结构 主键,及描述”n‹ƒÞwww.netcsharp.cn[„Ç0¯–~u
declare @table_name as varchar(max) ”n‹ƒÞwww.netcsharp.cn[„Ç0¯–~u
set @table_name = '你的表名' ”n‹ƒÞwww.netcsharp.cn[„Ç0¯–~u
select sys.columns.name, sys.types.name, sys.columns.max_length, sys.columns.is_nullable, ”n‹ƒÞwww.netcsharp.cn[„Ç0¯–~u
  (
select”n‹ƒÞwww.netcsharp.cn[„Ç0¯–~u
count(*) from sys.identity_columns where sys.identity_columns.object_id”n‹ƒÞwww.netcsharp.cn[„Ç0¯–~u
= sys.columns.object_id”n‹ƒÞwww.netcsharp.cn[„Ç0¯–~u
and sys.columns.column_id = sys.identity_columns.column_id) as is_identity ,”n‹ƒÞwww.netcsharp.cn[„Ç0¯–~u
  (
select value from sys.extended_properties where sys.extended_properties.major_id = sys.columns.object_id”n‹ƒÞwww.netcsharp.cn[„Ç0¯–~u
and sys.extended_properties.minor_id = sys.columns.column_id) as description”n‹ƒÞwww.netcsharp.cn[„Ç0¯–~u
 
from sys.columns, sys.tables, sys.types where sys.columns.object_id”n‹ƒÞwww.netcsharp.cn[„Ç0¯–~u
= sys.tables.object_id”n‹ƒÞwww.netcsharp.cn[„Ç0¯–~u
and sys.columns.system_type_id=sys.types.system_type_id and sys.tables.name=@table_name”n‹ƒÞwww.netcsharp.cn[„Ç0¯–~u
order”n‹ƒÞwww.netcsharp.cn[„Ç0¯–~u
by sys.columns.column_id”n‹ƒÞwww.netcsharp.cn[„Ç0¯–~u
”n‹ƒÞwww.netcsharp.cn[„Ç0¯–~u
”n‹ƒÞwww.netcsharp.cn[„Ç0¯–~u
运行效果”n‹ƒÞwww.netcsharp.cn[„Ç0¯–~u
”n‹ƒÞwww.netcsharp.cn[„Ç0¯–~u
3.单独查询表的递增字段”n‹ƒÞwww.netcsharp.cn[„Ç0¯–~u
--单独查询表递增字段”n‹ƒÞwww.netcsharp.cn[„Ç0¯–~u
select [name] from syscolumns where id=object_id(N'你的表名') and COLUMNPROPERTY(id,name,'IsIdentity')=1”n‹ƒÞwww.netcsharp.cn[„Ç0¯–~u
运行效果”n‹ƒÞwww.netcsharp.cn[„Ç0¯–~u
”n‹ƒÞwww.netcsharp.cn[„Ç0¯–~u
4.获取表的主外键”n‹ƒÞwww.netcsharp.cn[„Ç0¯–~u
--获取表主外键约束”n‹ƒÞwww.netcsharp.cn[„Ç0¯–~u
exec sp_helpconstraint  '你的表名' ;”n‹ƒÞwww.netcsharp.cn[„Ç0¯–~u
运行效果”n‹ƒÞwww.netcsharp.cn[„Ç0¯–~u
”n‹ƒÞwww.netcsharp.cn[„Ç0¯–~u
”n‹ƒÞwww.netcsharp.cn[„Ç0¯–~u
”n‹ƒÞwww.netcsharp.cn[„Ç0¯–~u
1
查看完整版本: 获取SqlServer2005表结构(字段,主键,外键,递增,描述)