select d.name,a.name ,b.name ,a.length, a.isnullable from syscolumns a, systypes b,sysobjects d where a.xtype=b.xusertype and a.id=d.id and d.xtype='U'
解决方案 »
- 突发问题,求救!
- 百分求无乱码的Inside MS sqlserver2000.
- 如何合并
- 按照时间自动编号
- 如何在一个语句里面实现同一内容不同条件的结果数据
- 字符串ABC 的varbinary 是0x414243..如果知道0x414243用哪个函数哪个类型转成ABC
- sql 2000 serve 安装问题(与操作系统有关)!
- 如何锁定表内一条纪录??又如何解锁??
- 老图书无条形码,只有书号:11018.629 怎么编条形码最合适??
- 生死决择:我准备学一门大型数据库,是SQL SERVER好,还是ORACLE好呢???
- 两个表联接查询的问题,小问题,请高手支招
- 在sqlserver中怎样输入数据?
(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 ##txFROM 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.colorder
,c.name as 字段名
,t.name 数据类型
,c.prec as 长度
from syscolumns c
inner join
systypes t
on c.xusertype=t.xusertype
where objectproperty(id,'IsUserTable')=1
select object_name(id) as 表名
,c.name as 字段名
,t.name 数据类型
,c.prec as 长度
from syscolumns c
inner join
systypes t
on c.xusertype=t.xusertype
where objectproperty(id,'IsUserTable')=1将执行结果全部选中,打开excel,选择粘贴,再按打印就行了.
表名 字段名 字段类型 长度
保存为 c:\book1.xls 后关闭 Excel再在查询分析器中执行:
insert into OpenDataSource( 'Microsoft.Jet.OLEDB.4.0',
'Data Source="c:\book1.xls";User ID=Admin;Password=;Extended properties=Excel 5.0')...sheet1$
(表名,字段名,字段类型,长度)
select object_name(id) as 表名
,c.name as 字段名
,t.name 数据类型
,c.prec as 长度
from syscolumns c
inner join
systypes t
on c.xusertype=t.xusertype
where objectproperty(id,'IsUserTable')=1
然后,再用 Excel 打开 c:\book1.xls
你会发现表结构的数据已经生成了,按打印就可以了.