/*
Select Name FROM Master..SysDatabases ORDER BY Name
2.获取所有表名:
Select Name FROM DatabaseName..SysObjects Where XType='U' ORDER BY Name
XType='U':表示所有用户表;
XType='S':表示所有系统表;
3.获取所有字段名:
Select Name FROM SysColumns Where id=Object_Id('TableName')
*/
SELECT
表名 = CASE WHEN A.COLORDER=1 THEN D.NAME ELSE ' ' END,
表说明 = CASE WHEN A.COLORDER=1 THEN ISNULL(F.VALUE,' ') ELSE ' ' END,
字段序号 = A.COLORDER,
字段名 = A.NAME,
标识 = CASE WHEN COLUMNPROPERTY( A.ID,A.NAME,'ISIDENTITY ')=1 THEN '√'ELSE ' ' END,
主键 = CASE WHEN EXISTS(Select 1 FROM SYSOBJECTS Where XTYPE='PK ' AND PARENT_OBJ=A.ID AND NAME IN (
SELECT NAME FROM SYSINDEXES Where INDID IN(
SELECT INDID FROM SYSINDEXKEYS Where ID = A.ID AND COLID=A.COLID))) THEN '√' ELSE ' ' END,
类型 = B.NAME,
字段长度 = A.LENGTH,
精度 = COLUMNPROPERTY(A.ID,'PRECISION '),
小数位数 = ISNULL(COLUMNPROPERTY(A.ID,'SCALE '),0),
允许空 = CASE WHEN A.ISNULLABLE=1 THEN '√'ELSE ' ' END,
缺省值 = ISNULL(E.TEXT,' '),
字段说明 = ISNULL(G.[VALUE],' ')
FROM
SYSCOLUMNS A
LEFT JOINSYSTYPES B
ON A.XUSERTYPE=B.XUSERTYPE
INNER JOIN SYSOBJECTS D
ON A.ID=D.ID AND D.XTYPE='U ' AND D.NAME<>'DTPROPERTIES '
LEFT JOINSYSCOMMENTS E
ON A.CDEFAULT=E.ID
LEFT JOINsys.extended_properties G
ON A.ID=G.major_id AND A.COLID=G.minor_id
LEFT JOINsys.extended_properties F
ON D.ID=F.major_id AND F.minor_id=0
版权声明:本文内容由互联网用户自发贡献,该文观点与技术仅代表作者本人。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌侵权/违法违规的内容, 请发送邮件至 [email protected] 举报,一经查实,本站将立刻删除。