正式表:各字段内容获取

DECLARE @tabname VARCHAR(20)
SET @tabname = 'ppeflow' SELECT @tabname AS '表名'
,(CASE
WHEN T.name = 'varchar' or T.name = 'char' THEN T.name + '(' + CAST(COLUMNPROPERTY(C.id,C.name,'PRECISION') as VARCHAR(20))+ ')'
WHEN T.name = 'numeric' THEN T.name + '(' + CAST(COLUMNPROPERTY(C.id,C.name,'PRECISION') as VARCHAR(20)) + ',' + CAST(isnull(COLUMNPROPERTY(c.id,c.name,'Scale'),0) as VARCHAR(20)) + ')'
WHEN T.name = 'decimal' THEN T.name + '(' + CAST(COLUMNPROPERTY(C.id,C.name,'PRECISION') as VARCHAR(20)) + ',' + CAST(isnull(COLUMNPROPERTY(c.id,c.name,'Scale'),0) as VARCHAR(20)) + ')'
ELSE T.name
END) AS '字段类型与容量'
,C.name as [字段名],T.name as [字段类型]
,convert(bit,C.IsNullable) as [可否为空]
,convert(bit,case when exists(SELECT 1 FROM sysobjects where xtype='PK' and parent_obj=c.id and name in (
SELECT name FROM sysindexes WHERE indid in(
SELECT indid FROM sysindexkeys WHERE id = c.id AND colid=c.colid))) then 1 else 0 end)
as [是否主键]
,convert(bit,COLUMNPROPERTY(c.id,c.name,'IsIdentity')) as [自动增长]
,C.Length as [占用字节]
,COLUMNPROPERTY(C.id,C.name,'PRECISION') as [长度]
,isnull(COLUMNPROPERTY(c.id,c.name,'Scale'),0) as [小数位数]
,ISNULL(CM.text,'') as [默认值]
,isnull(ETP.value,'') AS [字段描述] ,('Property ' + C.name + ' AS ' +
CASE T.name
WHEN 'varchar' THEN 'String'
WHEN 'nvarchar' THEN 'String'
WHEN 'char' THEN 'String'
WHEN 'numeric' THEN 'Decimal'
WHEN 'decimal' THEN 'Decimal'
WHEN 'datetime' THEN 'DateTime'
WHEN 'int' THEN 'Integer'
WHEN 'smallint' THEN 'Short'
WHEN 'real' THEN 'Single'
WHEN 'float' THEN 'Double'
WHEN 'bit' THEN 'Boolean'
WHEN 'uniqueidentifier' THEN 'Guid'
END ) 'VB.net' ,('public ' +
CASE T.name
WHEN 'varchar' THEN 'string'
WHEN 'nvarchar' THEN 'string'
WHEN 'char' THEN 'string'
WHEN 'numeric' THEN 'decimal'
WHEN 'decimal' THEN 'decimal'
WHEN 'datetime' THEN 'DateTime'
WHEN 'int' THEN 'int'
WHEN 'smallint' THEN 'short'
WHEN 'real' THEN 'float'
WHEN 'float' THEN 'double'
WHEN 'bit' THEN 'bool'
WHEN 'uniqueidentifier' THEN 'Guid'
END
+ ' ' + C.name + ' { get; set; }') 'C#' --,ROW_NUMBER() OVER (ORDER BY C.name) AS [Row]
--,REPLACE(REPLACE(REPLACE('row_T_WF_MAIN("'+c.name+'") = ' + STUFF(STUFF(isnull(CM.text,''),1,1,''),LEN(STUFF(isnull(CM.text,''),1,1,'')),1,''),'''','"'),'getdate()','Date.Now()'),'newid()','Guid.NewGuid')AS'row'
FROM syscolumns C
INNER JOIN systypes T ON C.xusertype = T.xusertype
left JOIN sys.extended_properties ETP ON ETP.major_id = c.id AND ETP.minor_id = C.colid AND ETP.name ='MS_Description'
left join syscomments CM on C.cdefault=CM.id
WHERE C.id = object_id(@tabname) --AND convert(bit,C.IsNullable) = 0 --不为空
--AND ISNULL(CM.text,'') = ''--默认值为空

正式表:各字段内容获取(加注释,复制到C#中再将###正则替换为\n)

DECLARE @tabname VARCHAR(200)
SET @tabname = 'T_RuleTableCell' SELECT @tabname AS '表名'
,(CASE
WHEN T.name = 'varchar' or T.name = 'char' THEN T.name + '(' + CAST(COLUMNPROPERTY(C.id,C.name,'PRECISION') as VARCHAR(20))+ ')'
WHEN T.name = 'numeric' THEN T.name + '(' + CAST(COLUMNPROPERTY(C.id,C.name,'PRECISION') as VARCHAR(20)) + ',' + CAST(isnull(COLUMNPROPERTY(c.id,c.name,'Scale'),0) as VARCHAR(20)) + ')'
WHEN T.name = 'decimal' THEN T.name + '(' + CAST(COLUMNPROPERTY(C.id,C.name,'PRECISION') as VARCHAR(20)) + ',' + CAST(isnull(COLUMNPROPERTY(c.id,c.name,'Scale'),0) as VARCHAR(20)) + ')'
ELSE T.name
END) AS '字段类型与容量'
,C.name as [字段名],T.name as [字段类型]
,convert(bit,C.IsNullable) as [可否为空]
,convert(bit,case when exists(SELECT 1 FROM sysobjects where xtype='PK' and parent_obj=c.id and name in (
SELECT name FROM sysindexes WHERE indid in(
SELECT indid FROM sysindexkeys WHERE id = c.id AND colid=c.colid))) then 1 else 0 end)
as [是否主键]
,convert(bit,COLUMNPROPERTY(c.id,c.name,'IsIdentity')) as [自动增长]
,C.Length as [占用字节]
,COLUMNPROPERTY(C.id,C.name,'PRECISION') as [长度]
,isnull(COLUMNPROPERTY(c.id,c.name,'Scale'),0) as [小数位数]
,ISNULL(CM.text,'') as [默认值]
,isnull(ETP.value,'') AS [字段描述] ,('Property ' + C.name + ' AS ' +
CASE T.name
WHEN 'varchar' THEN 'String'
WHEN 'nvarchar' THEN 'String'
WHEN 'char' THEN 'String'
WHEN 'numeric' THEN 'Decimal'
WHEN 'decimal' THEN 'Decimal'
WHEN 'datetime' THEN 'DateTime'
WHEN 'int' THEN 'Integer'
WHEN 'smallint' THEN 'Short'
WHEN 'real' THEN 'Single'
WHEN 'float' THEN 'Double'
WHEN 'bit' THEN 'Boolean'
WHEN 'uniqueidentifier' THEN 'Guid'
END ) 'VB.net' ,( '///<summary>' + '###' +
'///' + CAST(isnull(ETP.value,'') AS VARCHAR(200)) + '###' +
'///</summary>' + '###' +
'public ' +
CASE T.name
WHEN 'varchar' THEN 'string'
WHEN 'nvarchar' THEN 'string'
WHEN 'char' THEN 'string'
WHEN 'numeric' THEN 'decimal'
WHEN 'decimal' THEN 'decimal'
WHEN 'datetime' THEN 'DateTime'
WHEN 'int' THEN 'int'
WHEN 'smallint' THEN 'short'
WHEN 'real' THEN 'float'
WHEN 'float' THEN 'double'
WHEN 'bit' THEN 'bool'
WHEN 'uniqueidentifier' THEN 'Guid'
END
+ ' ' + C.name + ' { get; set; }') 'C#' --,ROW_NUMBER() OVER (ORDER BY C.name) AS [Row]
--,REPLACE(REPLACE(REPLACE('row_T_WF_MAIN("'+c.name+'") = ' + STUFF(STUFF(isnull(CM.text,''),1,1,''),LEN(STUFF(isnull(CM.text,''),1,1,'')),1,''),'''','"'),'getdate()','Date.Now()'),'newid()','Guid.NewGuid')AS'row'
FROM syscolumns C
INNER JOIN systypes T ON C.xusertype = T.xusertype
left JOIN sys.extended_properties ETP ON ETP.major_id = c.id AND ETP.minor_id = C.colid AND ETP.name ='MS_Description'
left join syscomments CM on C.cdefault=CM.id
WHERE C.id = object_id(@tabname) --AND convert(bit,C.IsNullable) = 0 --不为空
--AND ISNULL(CM.text,'') = ''--默认值为空

临时表:各字段内容获取

  SELECT  

     C.name as [字段名],T.name as [字段类型]
,convert(bit,C.IsNullable) as [可否为空]
,convert(bit,case when exists(SELECT 1 FROM sysobjects where xtype='PK' and parent_obj=c.id and name in (
SELECT name FROM sysindexes WHERE indid in(
SELECT indid FROM sysindexkeys WHERE id = c.id AND colid=c.colid))) then 1 else 0 end)
as [是否主键]
,convert(bit,COLUMNPROPERTY(c.id,c.name,'IsIdentity')) as [自动增长]
,C.Length as [占用字节]
,COLUMNPROPERTY(C.id,C.name,'PRECISION') as [长度]
,isnull(COLUMNPROPERTY(c.id,c.name,'Scale'),0) as [小数位数]
,ISNULL(CM.text,'') as [默认值]
,isnull(ETP.value,'') AS [字段描述]
,('Property ' + C.name + ' AS ' +
CASE T.name
WHEN 'varchar' THEN 'string'
WHEN 'char' THEN 'string'
WHEN 'numeric' THEN 'Decimal'
WHEN 'decimal' THEN 'Decimal'
WHEN 'datetime' THEN 'DateTime'
WHEN 'int' THEN 'Integer'
WHEN 'real' THEN 'Single'
WHEN 'float' THEN 'Double'
END ) 'VB.net' ,('public ' +
CASE T.name
WHEN 'varchar' THEN 'string'
WHEN 'char' THEN 'string'
WHEN 'numeric' THEN 'decimal'
WHEN 'decimal' THEN 'decimal'
WHEN 'datetime' THEN 'DateTime'
WHEN 'int' THEN 'int'
WHEN 'real' THEN 'float'
WHEN 'float' THEN 'double'
WHEN 'bit' THEN 'bool'
END
+ ' ' + C.name + ' { get; set; }') 'C#'
--,ROW_NUMBER() OVER (ORDER BY C.name) AS [Row]
FROM tempdb..syscolumns C
INNER JOIN systypes T ON C.xusertype = T.xusertype
left JOIN sys.extended_properties ETP ON ETP.major_id = c.id AND ETP.minor_id = C.colid AND ETP.name ='MS_Description'
left join syscomments CM on C.cdefault=CM.id
WHERE C.id = object_id('tempdb..#tab2')

获取内容样式如下:

PCB MS SQL 通过表名查询各字段信息和vb.net C# module类代码的更多相关文章

  1. ms sql 根据表名查询 表中所有字段的属性值 sql语句

    SELECT表名=case when a.colorder=1 then d.name else '' end,--表说明=case when a.colorder=1 then isnull(f.v ...

  2. 达梦dba_segments指定表名查询到的大小都包含哪些数据

    一.结论 dba_segments指定表名查询到的段大小包含索引.约束.表字段数据(包含LOB字段)(1)表(不包含LOB字段)创建默认分配2个簇,1个簇用于存放表结构及字段数据,1个簇用于存放clu ...

  3. SQL多表连接查询

    SQL多表连接查询 本文主要列举两张和三张表来讲述多表连接查询. 新建两张表: 表1:student  截图如下: 表2:course  截图如下: (此时这样建表只是为了演示连接SQL语句,当然实际 ...

  4. 图解SQL多表关联查询

      图解SQL多表关联查询     网上看了篇文章关于多表连接的,感觉很好,记录下来,以便日后自己学习  内连接     左连接     右连接       全外连接   1. 查两表关联列相等的数据 ...

  5. PCB MS SQL 排序应用---SQL相邻数据区间值求解

    其中一篇 博文中有写<PCB MS SQL 排序应用---相邻数据且相同合并处理>此篇有也应相用也同的技巧,实现相邻数据区间值求解 示例: 原数据:处理前 求出区间值:处理后 SQL 代码 ...

  6. 避免SQL全表模糊查询查询 下载文件时-修改文件名字

    避免SQL全表模糊查询查询   1.模糊查询效率很低: 原因:like本身效率就比较低,应该尽量避免查询条件使用like:对于like %...%(全模糊)这样的条件,是无法使用索引的,全表扫描自然效 ...

  7. Hvie SQL 修改表名 注释 列名注释

    一.修改hive表注释 ALTER TABLE 数据库名.表名 SET TBLPROPERTIES('comment' = '新的表备注'); 二.修改hive表字段注释 ALTER TABLE 数据 ...

  8. MS SQL巡检系列——检查外键字段是否缺少索引

    前言感想:一时兴起,突然想写一个关于MS SQL的巡检系列方面的文章,因为我觉得这方面的知识分享是有价值,也是非常有意义的.一方面,很多经验不足的人,对于巡检有点茫然,不知道要从哪些方面巡检,另外一方 ...

  9. sql一个表中两个字段合并求和

    sql一个表中两个字段,合并求和 SELECT SUM(字段a+'.'+字段b) as total  from TABLE

随机推荐

  1. GNSS数据下载网站

    Bernese 数据表文件下载 rinex文件下载 ftp://nfs.kasi.re.kr DCB.ION文件ftp://ftp.unibe.ch/AIUB/CODE/ 下载5.0更新文件 ftp: ...

  2. 获取qq音乐json数据---某课网音乐app学习

    移动端qq音乐地址:https://m.y.qq.com/ .抓取QQ音乐数据 请求首页时,有如下链接,回调了jsonp https://c.y.qq.com/splcloud/fcgi-bin/p. ...

  3. Vue项目优化首屏加载速度

    Vue项目部署上线后经常会发现首屏加载的速度特别慢:那么有那写能做的简单优化呢 一.路由的懒加载 路由懒加载也就是 把不同路由对应的组件分割成不同的代码块,然后当路由被访问的时候才加载对应组件. 结合 ...

  4. 视频cover占满

    /* 关键属性 */ object-fit: fill; //被替换的内容的大小,以填补该元素的内容框:对象的具体对象的大小是元素的使用宽度和高度. object-fit: contain;被替换的内 ...

  5. ArcEngine生成矩形缓冲区

    这里生成缓冲区肯定是根据点进行生成的,说是生成缓冲区其实是根据点生成面.具体思路如下:首先根据点获取要生成矩形缓冲区的四个顶点的坐标,然后将这四个点生成面即可得到所谓的矩形缓冲区. //首先获取要生成 ...

  6. 在引入的css或者js文件后面加参数的作用

    有时候可能会遇到js或者css文件引用后传递参数: css和js带参数(形如.css?v=与.js?v=) <script type=”text/javascript” src=”jb51.js ...

  7. python爬虫13 | 秒爬,这多线程爬取速度也太猛了,这次就是要让你的爬虫效率杠杠的

    快 快了 啊 嘿 小老弟 想啥呢 今天这篇爬虫教程的主题就是一个字 快 想要做到秒爬 就需要知道 什么是多进程 什么是多线程 什么是协程(微线程) 你先去沏杯茶 坐下来 小帅b这就好好给你说道说道 关 ...

  8. BZOJ 1641 USACO 2007 Nov. Cow Hurdles 奶牛跨栏

    [题解] 弗洛伊德.更新距离的时候把$f[i][j]=min(f[i][j],f[i][k]+f[k][j])$改为$f[i][j]=min(f[i][j],max(f[i][k],f[k][j])) ...

  9. HyperLedger项目以及社区

    本文不涉及任何技术开发的内容,仅供你跟同学.同事吹牛B之用.就像很多牛人总爱讲历史典故一样. 一.诞生与现状 HyperLedger 诞生于2015年12月17日,HyperLedger 追寻Apac ...

  10. nyoj_19_擅长排列的小明_201403011600

    擅长排列的小明时间限制:1000 ms  |  内存限制:65535 KB 难度:4描述 小明十分聪明,而且十分擅长排列计算.比如给小明一个数字5,他能立刻给出1-5按字典序的全排列,如果你想为难他, ...