MSSQL获取指定表的列名信息,描述,数据类型,长度
2011-03-23 12:34
369 查看
/*
--作用:根据特定的表名查询出字段,以及描述,数据类型,长度,精度,是否自增,是否为空等信息
--作者: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'
--作用:根据特定的表名查询出字段,以及描述,数据类型,长度,精度,是否自增,是否为空等信息
--作者: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'
相关文章推荐
- 【转】MSSQL获取指定表的列名信息,描述,数据类型,长度
- MySql数据库查询表信息/列信息(列ID/列名/数据类型/长度/精度/是否可以为null/默认值/是否自增/是否是主键/列描述)
- PostgreSql数据库查询表信息/列信息(列ID/列名/数据类型/长度/精度/是否可以为null/默认值/是否自增/是否是主键/列描述)
- SqlServer数据库查询表信息/列信息(列ID/列名/数据类型/长度/精度/是否可以为null/默认值/是否自增/是否是主键/列描述)
- Oracle数据库查询表信息/列信息(列ID/列名/数据类型/长度/精度/是否可以为null/默认值/是否自增/是否是主键/列描述)
- 获取MySql每一列的数据类型和长度默认值等信息
- 获取MySql每一列的数据类型和长度默认值等信息
- Sql :获取数据库所有表及其字段名称、类型、长度 (也可以指定单张或若干张表的详细信息。。。)
- MSSQL 查找用户数据库下面的表名、表说明、列名、列说明、列类型、列长度、列是否可为空相关信息
- SQL 数据库命令-----获取列名,数据类型 ,长度
- 获取表的列信息,包括列名,列数据类型,主键列..
- 获取表中字段信息(主外键,字段名,数据类型,字段长度,列说明)
- SQL语句来获取一个表的所有列的信息,如,列名、类型、长度等(转)
- SQL获取表名、列名、数据类型、描述、表最后修改时间
- SQL语句来获取一个表的所有列的信息,如,列名、类型、长度等
- SQL获取表名、列名、数据类型、描述、表最后修改时间
- 获取MSSQL中表名、列名、字段类型、长度
- sql获取表,字段,长度,类型,描述,等详细信息(转)
- SQL语句来获取一个表的所有列的信息,如,列名、类型、长度等
- 获取表的列信息,包括列名,列数据类型,主键列..