sp_sys_GetTableFieldDef存过:SQL获取表结构的字段名称,类型,Identity,PK主键,FK外键,IDX索引,字段说明
sp_sys_GetTableFieldDef存过:SQL获取表结构的字段名称,类型,Identity,PK主键,FK外键,IDX索引,字段说明
SQL Code: ALTER PROCEDURE [dbo].[sp_sys_GetTableFieldDef] @TableName VARCHAR(100) --表名,如:tb_MyUser AS BEGIN /************************************************************************************ 说明:获取表结构 程序:www.csframework.com C/S框架网 sp_sys_GetTableFieldDef 'tb_MyUser' sp_sys_GetTableFieldDef 'tb_POs' sp_sys_GetTableFieldDef 'vw_INs' *************************************************************************************/ SELECT TableName=d.name, FieldOrder=a.colorder, FieldName=a.name, IsIdentity=CASE WHEN COLUMNPROPERTY(a.id,a.name, 'IsIdentity')=1 THEN 'Y' ELSE 'N' END, PK=CASE WHEN EXISTS(SELECT 1 FROM sysobjects WHERE xtype= 'PK' AND parent_obj=a.id AND name IN ( SELECT name FROM sysindexes WHERE indid IN( SELECT indid FROM sysindexkeys WHERE id = a.id AND colid=a.colid))) THEN 'Y' ELSE 'N' END, FK=CASE WHEN EXISTS(SELECT 1 FROM sysobjects WHERE xtype= 'F' AND parent_obj=a.id AND name IN ( SELECT name FROM sysindexes WHERE indid IN( SELECT indid FROM sysindexkeys WHERE id = a.id AND colid=a.colid))) THEN 'Y' ELSE 'N' END, IDX=CASE WHEN EXISTS( SELECT TOP 1 dd.name FROM sysindexes aa JOIN sysindexkeys bb ON aa.id = bb.id AND aa.indid = bb.indid JOIN sysobjects cc ON bb.id = cc.id JOIN syscolumns dd ON bb.id = dd.id AND bb.colid = dd.colid WHERE dd.name=a.name AND dd.id=a.id AND cc.id=d.id AND aa.indid NOT IN ( 0 , 255 ) ) THEN 'Y' ELSE 'N' END, FieldType=b.name, FieldLength=a.length, Prec=COLUMNPROPERTY(a.id,a.name, 'PRECISION '), Scale=isnull(COLUMNPROPERTY(a.id,a.name, 'Scale '),0), AllowNull=CASE WHEN a.isnullable=1 THEN 'Y' ELSE 'N' END, DefaultValue=isnull(e.text, ' '), FieldCaption=CASE WHEN ISNULL(g.[value], '')='' THEN a.name ELSE g.[value] END FROM syscolumns a LEFT JOIN systypes b on a.xusertype=b.xusertype INNER JOIN sysobjects d on a.id=d.id and d.xtype IN ('U','V') and d.name <> 'dtproperties' LEFT JOIN syscomments e on a.cdefault=e.id LEFT JOIN sys.extended_properties g ON a.id=g.major_id and a.colid=g.minor_id --sql2005 改为 sysproperties表 WHERE d.name= @TableName --如果只查询指定表,加上此条件 END //来源:C/S框架网 | www.csframework.com | QQ:23404761 SQL执行结果: 扫一扫加微信
参考文档:
SQL递归获取当前类别及所有子类别,用于按类型查询 CS开发框架之自增字段(Identity),时间戳(Timestamp)字段处理|C/S框架网 SQL存储过程获取拼音助记码 ORM_FieldAttribute类详解:字段特性定义,框架内核根据此特性自动生成SQL脚本 开发框架字段名管理选择表名提示用户"sa"登录失败。 系统模块的字段名管理与代码生成器的字段名管理 关于开发框架字段名管理功能(frmFieldNameMgr类) C# get和set访问器:获取和设置字段(属性)的值 SQL获取表结构的表名,字段名称,类型,Identity,PK主键,FK外键,IDX索引,字段说明等资料 MsSQL数据库字段类型timeStamp应对应.net类型DateTime MsSql数据类型(SqlDbType)名称对应.NET类型(Type) MySql数据类型(MySqlDbType)名称对应.NET类型(Type) MsSQL数据类型(SqlDbType)名称对应DbType类型 MySQL数据类型(MySqlDbType)数据类型名称对应DbType类型 MySql 时间戳Timestamp字段类型的字段作为主键模拟用户并发操作
其它资料:
什么是C/S结构? | C/S框架核心组成部分 | C/S框架-WebService部署图 | C/S框架-权限管理 | C/S结构系统框架 - 5.1旗舰版介绍 | C/S结构系统框架 - 功能介绍 | C/S结构系统框架 - 产品列表 | C/S结构系统框架 - 应用展示(图) | 三层体系架构详解 | C/S架构轻量级快速开发框架 | C/S框架网客户案例 | WebApi快速开发框架 | C/S框架代码生成器 | 用户授权注册软件系统 | 版本自动升级软件 | 数据库底层应用框架 | CSFramework.CMS内容管理系统 | |