经典的SQL语句


------------------------
SELECT
(case   when   a.colorder=1   then   d.name   else   ''   end)表名,
a.colorder   字段序号,
a.name   字段名,
(case   when   COLUMNPROPERTY(   a.id,a.name,'IsIdentity')=1   then   '√'else   ''   end)   标识,
(case   when   (SELECT   count(*)
FROM   sysobjects
WHERE   (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)))))))   AND
(xtype   =   'PK'))>0   then   '√'   else   ''   end)   主键,
b.name   类型,
a.length   占用字节数,
COLUMNPROPERTY(a.id,a.name,'PRECISION')   as   长度,
isnull(COLUMNPROPERTY(a.id,a.name,'Scale'),0)   as   小数位数,
(case   when   a.isnullable=1   then   '√'else   ''   end)   允许空,
isnull(e.text,'')   默认值,
isnull(g.[value],'')   AS   字段说明

FROM     syscolumns     a   left   join   systypes   b
on     a.xtype=b.xusertype
inner   join   sysobjects   d
on   a.id=d.id     and     d.xtype='U'   and     d.name<>'dtproperties'
left   join   syscomments   e
on   a.cdefault=e.id
left   join   sysproperties   g
on   a.id=g.id   AND   a.colid   =   g.smallid
where   d.name   =   'custdb'
order   by   a.id,a.colorder
===========================================================
这是个值得分析的SQL语句,能达到这样的程度就不错了。可惜我还是没能看明白,希望总有一天会看明白吧。这个是从其他地方抄过来的。希望原作者不要见怪。

发表回复

您的电子邮箱地址不会被公开。 必填项已用 * 标注