--Sql Server 2000

declare @id int,
@name varchar(100),
@s varchar(8000)
declare cur_1 cursor for select id,name from sysobjects where xtype='U' --and id=537768973
open cur_1
fetch cur_1 into @id,@name
while(@@fetch_status=0)
begin
if exists(select * from tempdb..sysobjects where id=object_id('tempdb..##temp'))
drop table ##temp
create table ##temp(名称 varchar(100),数据类型 varchar(100),长度 varchar(100),默认值 varchar(100),注释 varchar(100))
Insert into ##temp(名称,数据类型,长度,默认值,注释)
select '表名:',Cast(@name as varchar(100)),'','',''
union all
select '名称','数据类型','长度','默认值','注释'
union all
select Cast(t3.name as varchar(100)) 名称,Cast(t5.name as varchar(20)) 数据类型,Cast(t3.length as varchar(20)) 长度,isnull(Cast(t6.text as varchar(100)),'') 默认值,isnull(Cast(t4.value as varchar(1000)),'') 注释
from syscolumns t3
left join sysproperties t4 on t3.id=t4.id and t3.colid=t4.smallid
left join systypes t5 on t3.xtype=t5.xusertype
left join syscomments t6 on t3.cdefault=t6.id
where t3.id=@id
union all
select '','','','',''
union all
select '','','','',''
union all
select '-','-','-','-','-' --declare @s varchar(8000)
set @s='Insert Into OpenRowSet(''Microsoft.Jet.OLEDB.4.0'',''Excel 8.0;DataBase=C:\temp.xls'',''select * from [Sheet1$]'') select * from ##temp'
Exec(@s) fetch cur_1 into @id,@name
end
deallocate cur_1
--Sql Server 2008

declare @id int,
@name varchar(100),
@s varchar(8000)
declare cur_1 cursor for select id,name from sysobjects where xtype='U' --and id=37575172
open cur_1
fetch cur_1 into @id,@name
while(@@fetch_status=0)
begin
if exists(select * from tempdb..sysobjects where id=object_id('tempdb..##temp'))
drop table ##temp
create table ##temp(名称 varchar(100),数据类型 varchar(100),长度 varchar(100),默认值 varchar(100),注释 varchar(100))
Insert into ##temp(名称,数据类型,长度,默认值,注释)
select '表名:',Cast(@name as varchar(100)),'','',''
union all
select '名称','数据类型','长度','默认值','注释'
union all
select Cast(t3.name as varchar(100)) 名称,Cast(t5.name as varchar(20)) 数据类型,Cast(t3.length as varchar(20)) 长度,isnull(Cast(t6.text as varchar(100)),'') 默认值,isnull(Cast(t4.value as varchar(1000)),'') 注释
from syscolumns t3
left join sys.extended_properties t4 on t3.id=t4.major_id and t3.colorder=t4.minor_id
left join systypes t5 on t3.xtype=t5.xusertype
left join syscomments t6 on t3.cdefault=t6.id
where t3.id=@id
union all
select '','','','',''
union all
select '','','','',''
union all
select '-','-','-','-','-' --declare @s varchar(8000)
set @s='Insert Into OpenRowSet(''Microsoft.Jet.OLEDB.4.0'',''Excel 8.0;DataBase=C:\temp.xls'',''select * from [Sheet1$]'') select * from ##temp'
Exec(@s) fetch cur_1 into @id,@name
end
deallocate cur_1

Sql Server 2000/2008 用Sql导出数据表结构(包括注释)到Excel的更多相关文章

  1. 【SQL Server复制】数据库复制:修改表结构、新增表、新增存储过程 会被复制到订阅服务器?

    转自:https://www.cnblogs.com/happyday56/p/3849018.html 关键字:sql server复制 [SQL Server高可用性]数据库复制:修改表结构.新增 ...

  2. SQL Server 存储(1/8):理解数据页结构

    我们都很清楚SQL Server用8KB 的页来存储数据,并且在SQL Server里磁盘 I/O 操作在页级执行.也就是说,SQL Server 读取或写入所有数据页.页有不同的类型,像数据页,GA ...

  3. SQL SERVER 2000 迁移后SQL SERVER代理服务启动错误分析

    公司有一个老系统,这个系统所用的数据库是SQL SERVER 2000,它所在的Dell服务器已经运行超过10年了,早已经过了保修服务期,最近几乎每周会出现一次故障,加之5月份另外一台服务器坏了两个硬 ...

  4. SQL Server 2000/2005 分页SQL — 单条SQL语句

    有关分页 SQL 的资料很多,有的使用存储过程,有的使用游标.本人不喜欢使用游标,我觉得它耗资.效率低:使用存储过程是个不错的选择,因为存储过程是经过预编译的,执行效率高,也更灵活.先看看单条 SQL ...

  5. SQL Server性能优化(8)堆表结构介绍

    一.表结构综述 下图是SQL Server中表的组织形式(其中分区1.分区2是为了便于管理,把表进行分区,放到不同的硬盘数据文件里.默认情况下,表只有一个分区.).表在硬盘上的存放形式,有堆和B树两种 ...

  6. mysql导出数据表结构,必须退出mysql命令.重新使用msyqldump命令

    只导出数据库中所有表结构(-d 减去数据) 导出所有表结构和数据 mysqldump -uroot --default-character-set=utf8 -p123-d必须空格good>H: ...

  7. SQL Server 存储(2/8):理解数据记录结构

    在SQL Server :理解数据页结构我们提到每条记录都有7 bytes的系统行开销,那这个7 bytes行开销到底是一个什么样的结构,我们一起来看下. 数据记录存储我们具体的数据,换句话说,它存在 ...

  8. Windows 7 X64 SQL Server 2000 企业管理器无法建立新表

    问题现象: 当建立新表时会出现一个空白的窗口,敲击键盘输入后就会出现应用出错,然后退出. 解决方案: 选中某个已经存在的表,再点右键,新建表就可以正常操作了.

  9. 如何隐藏掉SQL Server中自带系统数据库,数据表,存储过程等显示文件,只显示用户的数据库,数据表等文件

    企业管理器了,---->   编辑该数据库的注册属性--->“常规”属性页下面-->“显示系统数据库和系统对象”的选项去掉

随机推荐

  1. Swift打印Debug日志,实现Release下不打印

    OC内,我们往往做log打印时,会考虑一个Debug环境下打印,Release下控制不打印,以节约性能消耗. OC我们可以这样做: 在pch文件内,定义如下: //打印日志 #ifdef DEBUG ...

  2. cnblogs反对按钮点击测试

    点击反对或推荐有惊喜~

  3. Apache启用GZIP压缩网页传输

    首先我们先了解Apache Gzip的相关资料. 一.gzip介绍 Gzip是一种流行的文件压缩算法,现在的应用十分广泛,尤其是在Linux平台.当应用Gzip压缩到一个纯文本文件时,效果是非常明显的 ...

  4. 老男孩linux实战培训初级班第三次课课前考试题

    ################################################################ 本文内容摘录于老男孩linux实战运维培训中心考试题 如有转载,请务必 ...

  5. 1503: [NOI2004]郁闷的出纳员 (SBT)

    1503: [NOI2004]郁闷的出纳员 http://www.lydsy.com/JudgeOnline/problem.php?id=1503 Time Limit: 5 Sec  Memory ...

  6. ExpandoObject与DynamicObject的使用 RabbitMQ与.net core(一)安装 RabbitMQ与.net core(二)Producer与Exchange ASP.NET Core 2.1 : 十五.图解路由(2.1 or earler) .NET Core中的一个接口多种实现的依赖注入与动态选择看这篇就够了

    ExpandoObject与DynamicObject的使用   using ImpromptuInterface; using System; using System.Dynamic; names ...

  7. svn开发常用整理

    1.删除tortoise svn中的账号信息 其实tortoise svn也是将账号信息存放在本地的配置文件中 在不同的操作系统下,操作基本类似,首先我们来看一下windows下如何操作的. 以win ...

  8. 禁用gridview,listview回弹或下拉悬停

    不同的安卓厂商对ListView或ScrollView都做了一些动画效果,比如下拉时为了产生弹性美感而有大幅度回弹效果,再比如魅族的下拉悬停,有时做了一个下拉刷新的功能会与之冲突.其实该美化实为多此一 ...

  9. 【转】Kotlin 和 Checked Exception

    Kotlin 和 Checked Exception 最近 JetBrains 的 Kotlin 语言忽然成了热门话题.国内小编们传言说,Kotlin 取代了 Java,成为了 Android 的“钦 ...

  10. C++ STL vector(向量容器)的使用(附完整程序代码)

    一.简单介绍 Vectors 包括着一系列连续存储的元素,其行为和数组类似. 訪问Vector中的随意元素或从末尾加入元素都能够在O(1)内完毕,而查找特定值的元素所处的位置或是在Vector中插入元 ...