您的位置:首页 > 数据库

获取数据库中表结构信息

2013-01-31 22:56 393 查看
USE HRMSys
SELECT
表名   = CASE a.colorder WHEN 1 THEN c.name ELSE '' END,
序     = a.colorder,
字段名 = a.name,
标识   = CASE COLUMNPROPERTY(a.id,a.name,'IsIdentity') WHEN 1 THEN '√' ELSE '' END,
主键   = CASE
WHEN EXISTS (
SELECT *
FROM sysobjects
WHERE xtype='PK' AND name IN (
SELECT name
FROM sysindexes
WHERE id=a.id AND indid IN (
SELECT indid
FROM sysindexkeys
WHERE id=a.id AND colid IN (
SELECT colid
FROM syscolumns
WHERE id=a.id AND name=a.name
)
)
)
)
THEN '√'
ELSE ''
END,
类型   = b.name,
字节数 = a.length,
长度   = COLUMNPROPERTY(a.id,a.name,'Precision'),
小数   = CASE ISNULL(COLUMNPROPERTY(a.id,a.name,'Scale'),0)
WHEN 0 THEN ''
ELSE CAST(COLUMNPROPERTY(a.id,a.name,'Scale') AS VARCHAR)
END,
允许空 = CASE a.isnullable WHEN 1 THEN '√' ELSE '' END,
默认值 = ISNULL(d.[text],'')
FROM syscolumns a
LEFT  JOIN systypes      b ON a.xtype=b.xusertype
INNER JOIN sysobjects    c ON a.id=c.id AND c.xtype='U' AND c.name<>'dtproperties'
LEFT  JOIN syscomments   d ON a.cdefault=d.id
ORDER BY c.name, a.colorder
内容来自用户分享和网络整理,不保证内容的准确性,如有侵权内容,可联系管理员处理 点击这里给我发消息
标签: