/*
--作用:根据特定的表名查询出字段,以及描述,数据类型,长度,精度,是否自增,是否为空等信息
--作者:wonder QQ:37036846 QQ群:.NET顶级精英群 ID:124766907
--时间:2011-03-23 11:25
--描述:创建存储过程
--参数:@tableName 表名
*/
CREATE PROC sp_GetListsColumnInfoByTableName(
@tableName nvarchar(255))
AS
BEGIN SELECT CASE WHEN Q.INDID >=1 then '主键' ELSE '' END IS_KEYS,
x.objname as ColumnName,x.value as ColumnDescription,
z.name as DataType,y.max_length as length ,y.precision,y.scale,y.is_identity,y.is_nullable
FROM
(
SELECT *FROM ::fn_listextendedproperty (NULL, 'user ', 'dbo ', 'table ', @tableName, 'column ', default)
) AS X
INNER JOIN
(
SELECT *FROM sys.all_columns
where object_id=(select object_id from sys.all_objects where name=@tableName)
) AS Y ON X.objname=y.Name collate Chinese_PRC_CI_AS
inner join sys.systypes Z
ON Z.xusertype=Y.user_type_id
left join (select *from sysindexkeys where id=(select object_id from sys.all_objects where name=@tableName)) as Q
ON Q.colid=y.COLUMN_ID
order by y.Column_id
END
测试存储过程: EXEC sp_GetListsColumnInfoByTableName 'userInfo'

转自:http://www.cnblogs.com/wanzegui325/archive/2011/03/23/GetListsColumnInfoByTableName.html

【转】MSSQL获取指定表的列名信息,描述,数据类型,长度的更多相关文章

  1. sql获取指定表所有列名及注释

    SELECT b.name as 字段名 ,Type_name(b.xusertype) as 字段类型, Isnull(c.VALUE,'') as 字段说明FROM sysobjects a jo ...

  2. oracle数据库获取指定表的列的相关信息

    1.很多时候我们需要从数据库中获取指定表的所有列的相关属性,如 name,commens,datatype,datalength,pk等.下面就是制定的语句. select c.TABLE_NAME ...

  3. 使用sql查询mysql/oracle/sql server/gp数据库中指定表的字段信息(字段名/字段类型/字段长度/是否是主键/是否为空)

    1,根据数据库类型拼接不同URL /** * 根据类型不同拼接连接的URL * @param dbType 1:mysql.2:oracle.3:sql server.4:gp * @param ip ...

  4. mysql My SQL获取某个表的列名

    My SQL获取某个表的列名 DESC TableName SHOW COLUMNS FROM TableName SELECT COLUMN_NAME  FROM information_schem ...

  5. Oracle生成指定表的列名,并前后添加select from

    表的列名比较多的时候,手工一个个的写列名比较麻烦,这个函数可以让人偷偷懒 create or replace function f_GetCols(p_TableName in varchar2/*获 ...

  6. C# 如何判断ie版本号和获取注册表中的信息

    1.获取ie版本号 string ver = (new WebBrowser()).Version.ToString(); 例如:11.0.10586.103 int mainVer = (new W ...

  7. 【mysql】获取某个表所有列名【mybatis】

    方法1:[仅指定表名] select COLUMN_NAME from information_schema.COLUMNS where table_name = 'your-table-name'; ...

  8. MSSQL 获取指定日期所在星期的第一天和最后一天日期 获取指定日期坐在月的第一天和最后一天

    ufn_GetWeekFirstAndEndDay    获取指定日期所在星期的第一天和最后一天日期 ALTER FUNCTION [dbo].[ufn_GetWeekFirstAndEndDay]( ...

  9. T-SQL 如何获取一个表的列名

    方法1: exec sp_columns [{table_name}],[{schema_name}] 方法2: SELECT * FROM syscolumns WHERE id=OBJECT_ID ...

随机推荐

  1. Codeforces Round #322 (Div. 2) D. Three Logos 暴力

    D. Three Logos Time Limit: 1 Sec Memory Limit: 256 MB 题目连接 http://codeforces.com/contest/581/problem ...

  2. springMVC3学习(五)--MultiActionController

    Spring提供一个多动作控制器,使用它你能够将几个动作合并在一个控制器里,这样能够把功能组合在一起. 多动作控制器存在在一个单独的包中--org.springframework.web.mvc.mu ...

  3. 谈使用Eclipse与DDMS调试Android程序的方法

    在Eclipse开发工具中调试程序的方法很多,但是使用Eclipse调试Android程序时需要注意一些细节上的问题.许多刚接触 Android的开发者,在调试Android程序时总是不能迅速地找到程 ...

  4. Nginx加多个tomcat实现负载均衡,动静分离

    一:Nginx+Tomcat的动静分离 所谓动静分离就是通过nginx(或apache等)来处理用户端请求的图片.html等静态的文件,tomcat(或weblogic)处理jsp.do等动态文件,从 ...

  5. MyEclipse设置默认的目光格式

    首先,选择菜单 windows-->preference Java-->Code Style-->Code Templates code-->new Java files 然后 ...

  6. hibernate uniqueResult方法

    假设查询返回多个值用list()方法 public void testQuery(){ Configuration config = new Configuration().configure(); ...

  7. [转]详述DHCP服务器的三种IP分配方式

    DHCP就是动态主机配置协议(Dynamic Host Configuration Protocol),它的目的就是为了减轻TCP/IP网络的规划.管理和维护的负担,解决IP地址空间缺乏问题.这种网络 ...

  8. 外网访问SVN

    1.路由端口映射: 进入路由器管理管理界面-->转发规则-->虚拟服务器 将端口3690(svn默认端口)和你的局域网IP(如192.168.1.104)映射,勾上“启动”,保存,OK了. ...

  9. XMl解析之Pull解析

    HttpUtils: package cn.qf.parser; import java.io.BufferedOutputStream; import java.io.FileOutputStrea ...

  10. visibility,display区别

    visibility:hidden,display:none 前者隐藏位置还在,后者隐藏位置消失