CSDN首页 空间 新闻 论坛 Blog 下载 读书 网摘 搜索 .NET Java 视频 接项目 求职 在线学习 买书 程序员 通知
可用分押宝游戏火热进行中... 专题改版:Java Web 专题
CSDN社区
搜索 收藏 打印 关闭
CSDN社区 >  MS-SQL Server >  基础类

突发奇想...

楼主computerstarveling(大黑)2003-11-02 08:46:15 在 MS-SQL Server / 基础类 提问

如何找出一个数据库中有哪几张表有逻辑字段,并把满足条件的表和它对应的逻辑字段列出来? 问题点数:20、回复次数:3Top

1 楼pengdali()回复于 2003-11-02 10:33:09 得分 20

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

2 楼pengdali()回复于 2003-11-02 10:33:37 得分 0

select   name   列   from   syscolumns   where   id=object_id('表名')Top

3 楼computerstarveling(大黑)回复于 2003-11-08 21:04:26 得分 0

好好研究研究大力兄的代码,分先结了.Top

相关问题

  • 突发奇想!
  • 突发奇想与奇思妙想!!!
  • 我的突发奇想。实在没思路,请达人指点。
  • C++ 作用域的问题.突发奇想.求高手解答
  • 突发奇想 有兴趣的来 指纹识别
  • 有关C编译的突发奇想,请高手指教
  • 突发奇想:如果你有两个"小弟弟",你会什么办
  • 突发奇想--网络连接方面的控制,欢迎讨论指教!
  • 今天突发奇想。预备写一个为初学者的asp教程
  • 突发奇想,想投资域名,不知大家有何建议

关键词

  • 字段
  • columnproperty
  • colid
  • syscolumns
  • isnull
  • join
  • case
  • then
  • where
  • else

得分解答快速导航

  • 帖主:computerstarveling
  • pengdali

相关链接

  • SQL Server类图书

广告也精彩

反馈

请通过下述方式给我们反馈
反馈
提问
网站简介|广告服务|VIP资费标准|银行汇款帐号|网站地图|帮助|联系方式|诚聘英才|English|问题报告
世纪乐知(北京)网络技术有限公司 版权所有, 京 ICP 证 020026 号
北京创新乐知广告有限公司 提供技术支持
Copyright © 2000-2007, CSDN.NET, All Rights Reserved
GongshangLogo