倾程记 flyby      本站首页     管理页面    写新日志    退出   


[数据库]一个可以从数据库中读取表结构的sql语句
flyby 发表于 2005/8/3 10:16:36

试试看吧,这条语句可以从数据库中读取表结构。用这种方法制作数据字典很不错。 SELECT SysObjects.Name as tb_name, SysColumns.Name as col_name, SysTypes.Name as col_type, SysColumns.Length as col_len, isnull(SysProperties.Value,SysColumns.Name) as col_memo,case when SysColumns.name in(select 主键=a.nameFROM syscolumns ainner join sysobjects b on a.id=b.id and b.xtype='U' and b.name<>'dtproperties'where exists(SELECT 1 FROM sysobjects where xtype='PK' and name in (SELECT name FROM sysindexes WHERE indid in(SELECT indid FROM sysindexkeys WHERE id = a.id AND colid=a.colid)))and b.name=SysObjects.Name)then 1 else 0 end as is_keyFROM SysObjects,SysTypes,SysColumnsLEFT JOIN SysProperties ON (Syscolumns.Id = Sysproperties.Id ANDSyscolumns.Colid = Sysproperties.Smallid)WHERE (Sysobjects.Xtype ='u' OR Sysobjects.Xtype ='v')AND Sysobjects.Id = Syscolumns.Id AND SysTypes.XType = Syscolumns.XTypeAND SysTypes.Name <> 'sysname' AND Sysobjects.Name Like 'Ads_agent%' ORDER By SysObjects.Name, SysColumns.colid

阅读全文(7136) | 回复(4) | 编辑 | 精华

回复:一个可以从数据库中读取表结构的sql语句
flyby发表评论于2005/11/29 17:55:38

select table_name from INFORMATION_SCHEMA.TABLESwhere TABLE_TYPE = 'BASE TABLE' 这个是读取数据库中的所有用户表的语句。

个人主页 | 引用回复 | 主人回复 | 返回 | 编辑 | 删除

回复:一个可以从数据库中读取表结构的sql语句
我最厉害(游客)发表评论于2005/9/9 16:12:04

execute sp_MShelpcolumns N'表名称', null, 'id', 1
个人主页 | 引用回复 | 主人回复 | 返回 | 编辑 | 删除

回复:一个可以从数据库中读取表结构的sql语句
mmmm(游客)发表评论于2005/9/8 11:59:25

以下引用flyby在2005-8-9 9:54:57的评论:select object_name(c.id) as 表名 ,c.name as 字段名 ,t.name 数据类型        ,c.length 长度 ,c.prec as 精度 ,p.value as 字段说明 ,m.text as 默认值        ,case when c.status=0x80 then 1 else 0 end 标识        ,c.iscomputed 是否已计算该列的标志        ,c.isnullable 是否允许空值        ,c.isoutparam 是否输出参数  from    syscolumns c         inner join systypes t on c.xusertype=t.xusertype left join sysproperties p on c.id=p.id and c.colid = p.smallid left join syscomments m on c.cdefault=m.idwhere   objectproperty(c.id,'IsUserTable')=1 and object_name(c.id)='My_Table'8
个人主页 | 引用回复 | 主人回复 | 返回 | 编辑 | 删除

回复:一个可以从数据库中读取表结构的sql语句
flyby发表评论于2005/8/9 9:54:57

select object_name(c.id) as 表名 ,c.name as 字段名 ,t.name 数据类型        ,c.length 长度 ,c.prec as 精度 ,p.value as 字段说明 ,m.text as 默认值        ,case when c.status=0x80 then 1 else 0 end 标识        ,c.iscomputed 是否已计算该列的标志        ,c.isnullable 是否允许空值        ,c.isoutparam 是否输出参数  from    syscolumns c         inner join systypes t on c.xusertype=t.xusertype left join sysproperties p on c.id=p.id and c.colid = p.smallid left join syscomments m on c.cdefault=m.idwhere   objectproperty(c.id,'IsUserTable')=1 and object_name(c.id)='My_Table'
个人主页 | 引用回复 | 主人回复 | 返回 | 编辑 | 删除
» 1 »

发表评论:
昵称:
密码:
主页:
标题:
验证码:  (不区分大小写,请仔细填写,输错需重写评论内容!)

 
«December 2025»
123456
78910111213
14151617181920
21222324252627
28293031

  公告

此Blog中的文章仅代表本人当时观点,不对其正确性做任何担保。转载原创,请知会作者。QQ  MSN


  我的分类(专题)
  最近日志

  最新评论

  留言板

  链接

  Blog信息

blog名称:倾程记
日志总数:27
评论数量:72
留言数量:-3
访问次数:234754
建立时间:2005年7月8日



站点首页 | 联系我们 | 博客注册 | 博客登陆

Sponsored By W3CHINA
W3CHINA Blog 0.8 Processed in 1.445 second(s), page refreshed 144802918 times.
《全国人大常委会关于维护互联网安全的决定》  《计算机信息网络国际联网安全保护管理办法》
苏ICP备05006046号