[数据库]一个可以从数据库中读取表结构的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 | » | | 日 | 一 | 二 | 三 | 四 | 五 | 六 | | 1 | 2 | 3 | 4 | 5 | 6 | 7 | 8 | 9 | 10 | 11 | 12 | 13 | 14 | 15 | 16 | 17 | 18 | 19 | 20 | 21 | 22 | 23 | 24 | 25 | 26 | 27 | 28 | 29 | 30 | 31 | | | | |
|
| 公告 |
此Blog中的文章仅代表本人当时观点,不对其正确性做任何担保。转载原创,请知会作者。QQ MSN | |
| Blog信息 |
|
blog名称:倾程记 日志总数:27 评论数量:72 留言数量:-3 访问次数:234754 建立时间:2005年7月8日
| |

|