`
- 浏览:
4334283 次
- 性别:
- 来自:
杭州
-
1--======================================================
2
3--列出SQLSERVER所有表,字段名,主键,类型,长度,小数位数等信息
4
5--在查询分析器里运行即可,可以生成一个表,导出到EXCEL中
6
7--======================================================
8
9Select
10
11(CaseWhenA.Colorder=1ThenD.NameElse''End)表名,
12
13A.Colorder字段序号,
14
15A.Name字段名,
16
17(CaseWhenColumnproperty(A.Id,A.Name,'Isidentity')=1Then'√'Else''End)标识,
18
19(CaseWhen(SelectCount(*)
20
21FromSysobjects
22
23Where(NameIn
24
25(SelectName
26
27FromSysindexes
28
29Where(Id=A.Id)And(IndidIn
30
31(SelectIndid
32
33FromSysindexkeys
34
35Where(Id=A.Id)And(ColidIn
36
37(SelectColid
38
39FromSyscolumns
40
41Where(Id=A.Id)And(Name=A.Name)))))))And
42
43(Xtype='Pk'))>0Then'√'Else''End)主键,
44
45B.Name类型,
46
47A.Length占用字节数,
48
49Columnproperty(A.Id,A.Name,'Precision')As长度,
50
51Isnull(Columnproperty(A.Id,A.Name,'Scale'),0)As小数位数,
52
53(CaseWhenA.Isnullable=1Then'√'Else''End)允许空,
54
55Isnull(E.Text,'')默认值,
56
57Isnull(G.[Value],'')As字段说明
58
59FromSyscolumnsALeftJoinSystypesB
60
61OnA.Xtype=B.Xusertype
62
63InnerJoinSysobjectsD
64
65OnA.Id=D.IdAndD.Xtype='U'AndD.Name<>'Dtproperties'
66
67LeftJoinSyscommentsE
68
69OnA.Cdefault=E.Id
70
71LeftJoinSyspropertiesG
72
73OnA.Id=G.IdAndA.Colid=G.Smallid
74
75OrderByA.Id,A.Colorder
76
77列出SQLSERVER所有表、字段定义,类型,长度,一个值等信息
78
79并导出到Excel中
80
81--======================================================
82
83--Exportallusertablesdefinitionandonesamplevalue
84
85--jan-13-2003,Dr.Zhang
86
87--======================================================
88
89在查询分析器里运行:
90
91SETANSI_NULLSOFF
92
93GO
94
95SETNOCOUNTON
96
97GO
98
99
100
101SETLANGUAGE'SimplifiedChinese'
102
103go
104
105DECLARE@tblnvarchar(200),@fldnvarchar(200),@sqlnvarchar(4000),@maxlenint,@samplenvarchar(40)
106
107
108
109SELECTd.nameTableName,a.nameFieldName,b.nameTypeName,a.lengthLength,a.isnullableIS_NULLINTO#t
110
111FROMsyscolumnsa,systypesb,sysobjectsd
112
113WHEREa.xtype=b.xusertypeanda.id=d.idandd.xtype='U'
114
115
116
117DECLAREread_cursorCURSOR
118
119FORSELECTTableName,FieldNameFROM#t
120
121
122
123SELECTTOP1'_TableName'TableName,
124
125'FieldName'FieldName,'TypeName'TypeName,
126
127'Length'Length,'IS_NULL'IS_NULL,
128
129'MaxLenUsed'ASMaxLenUsed,'SampleValue'Sample,
130
131'Comment'CommentINTO#tcFROM#t
132
133
134
135OPENread_cursor
136
137
138
139FETCHNEXTFROMread_cursorINTO@tbl,@fld
140
141WHILE(@@fetch_status<>-1)---failes
142
143BEGIN
144
145IF(@@fetch_status<>-2)--Missing
146
147BEGIN
148
149SET@sql=N'SET@maxlen=(SELECTmax(len(cast('+@fld+'asnvarchar)))FROM'+@tbl+')'
150
151--PRINT@sql
152
153EXECSP_EXECUTESQL@sql,N'@maxlenintOUTPUT',@maxlenOUTPUT
154
155--print@maxlen
156
157SET@sql=N'SET@sample=(SELECTTOP1cast('+@fld+'asnvarchar)FROM'+@tbl+'WHERElen(cast('+@fld+'asnvarchar))='+convert(nvarchar(5),@maxlen)+')'
158
159EXECSP_EXECUTESQL@sql,N'@samplevarchar(30)OUTPUT',@sampleOUTPUT
160
161--forquickly
162
163--SET@sql=N'SET@sample=convert(varchar(20),(SELECTTOP1'+@fld+'FROM'+
164
165--@tbl+'orderby1desc))'
166
167PRINT@sql
168
169print@sample
170
171print@tbl
172
173EXECSP_EXECUTESQL@sql,N'@samplenvarchar(30)OUTPUT',@sampleOUTPUT
174
175INSERTINTO#tcSELECT*,ltrim(ISNULL(@maxlen,0))asMaxLenUsed,
176
177convert(nchar(20),ltrim(ISNULL(@sample,'')))asSample,''CommentFROM#twhereTableName=@tblandFieldName=@fld
178
179END
180
181FETCHNEXTFROMread_cursorINTO@tbl,@fld
182
183END
184
185
186
187CLOSEread_cursor
188
189DEALLOCATEread_cursor
190
191GO
192
193
194
195SETANSI_NULLSON
196
197GO
198
199SETNOCOUNTOFF
200
201GO
202
203selectcount(*)from#t
204
205DROPTABLE#t
206
207GO
208
209
210
211selectcount(*)-1from#tc
212
213
214
215select*into##txfrom#tcorderbytablename
216
217DROPTABL
分享到:
Global site tag (gtag.js) - Google Analytics
相关推荐
SQL Server中存储过程比直接运行SQL语句慢的原因
功能: 根据表名、where条件,生成导出数据的SQL语句。(包含insert语句。结果可一键执行,利于数据导出、导入) 参数: @tableName nvarchar(100) --表名 ,@sqlWhere nvarchar(500) --where条件(传空时,导出全部...
oracle到sqlserver 存储过程语法转换,希望对大家有帮助啊! 最近刚把oracle的数据库移植到sqlserver!
数据库中的if和else语句 14 SQL中的while语句 14 Case-End多分支语句 14 子查询 15 视图(虚拟表)和索引 16 视图 16 索引 16 事务管理 17 数据库的安全性 18 建立权限 19 存储过程(procedure) 20 无参数...
资源名称:SQL_Server存储过程调试指南内容简介: 存储过程( Stored Procedure)是一组为了完成特定功能的 SQL 语句集,经编译后存储在数据库中。用户通过指定存储过程的名字并给出参数(如果该存储过程带有参数)来...
可以支持导出单表的建表语句,也可以支持单库所有建表语句的导出以及同服务器跨库建表语句的导出。
SQLServer动态SQL语句的用法
学习存储过称基本技巧,讲述SQL SERVER语句与存储过程基本联系与技巧
2.利用SQL Server配置管理器启动、停止SQL Server服务(包括默认实例和命名实例),配置SQL Server服务为自动启动。 3.利用SQL Server配置管理器配置进行SQL Server 2005网络配置,启用默认实例和命名实例的TCP/IP...
此工具可以将SQL Server表数据导出成Insert语句。SQL Server的导入导出功能可以导出创建数据库各对象的脚本,却不提供导出目标表的现有数据为Insert语句的功能,此工具可以将SQL Server表数据导出成Insert语句。
针对sqlserver 2008 存储过程通过With Encryption加密方式的解密
sql server数据库中分页的存储过程,参数中比较灵活,如果首页传1,非首页传其他。
1.1 核心代码: 1.2 直接执行 Sql 语句 1.3 不带参数的存储过程 1.4 带参数的存储过程 2.1 核心代码: 2.2 直接执行 sql 语句 2
SQL Server 存储过程及Oracle SQL语句分页
存储过程Procedure是一组为了完成特定功能的SQL语句集合,经编译后存储在数据库中,用户通过指定存储过程的名称并给出参数来执行。 存储过程中可以包含逻辑控制语句和数据操纵语句,它可以接受参数、输出参数、返回...
–我的电脑–控制面板–管理工具–服务–右键SQLSERVERAGENT–属性–启动类型–选择”自动启动”–确定. 2、SQL Server Management Studio — SQL Server 代理 — 作业 — 新建作业 作业设置如下: “常规” — 设置...
sqlserver 分页调用的存储过程 t-sql 语句
SQL Server提供了一种方法,它可以将一些固定的操作集中起来由SQL Server数据库服务器来完成,以实现某个任务,这种方法就是存储过程。 存储过程是SQL语句和可选控制流语句的预编译集合,存储在数据库中,可由应用...
SQL Server 数据库管理常用的SQL和T-SQL语句 SQL SERVER 与ACCESS、EXCEL的数据转换 sql server中,日期比较、日期查询的...根据表中数据生成insert语句的存储过程.txt 精妙的SQL语句.txt 事务处理.txt php_ADODB.txt