设为首页 加入收藏

TOP

分享:sp_type返回表结构字段类型及长度等
2014-11-24 07:22:42 来源: 作者: 【 】 浏览:2
Tags:分享 :sp_type 返回 结构 类型 长度
分享:sp_type返回表结构字段类型及长度等
[sql]
USE [master]
GO
IF OBJECT_ID('sp_type','P') IS NOT NULL
DROP PROCEDURE [sp_type]
GO
SET ANSI_NULLS ON
GO
SET QUOTED_IDENTIFIER ON
GO
/************** object: sp_type script_datetime: 2013-05-07 14:34:00****************/
CREATE PROC sp_type (@tab NVARCHAR(128))
AS
/*
作者:陈恩辉-弘恩
说明:可以简单返回表的数据类型,对数据长度精度未做详细处理
*/
IF object_id(@tab, 'U') IS NULL
BEGIN
PRINT '在 数据库:'+ db_name() + ' 中,表:' + @tab + ' 不存在!'
RETURN
END
DECLARE @sqlstr VARCHAR(MAX) ;
SET @sqlstr = ' SELECT '
+ STUFF(( SELECT ',' + name + ' = ''' + type_name + ''''
FROM ( SELECT name ,
TYPE_NAME(system_type_id)
+ CASE WHEN TYPE_NAME(system_type_id) LIKE '%char'
THEN '('
+ CAST(CASE WHEN max_length < 0
THEN 'max'
ELSE max_length
END AS VARCHAR) + ')'
ELSE ''
END type_name ,
column_id
FROM sys.columns
WHERE object_id = OBJECT_ID(@tab, 'U')
) t
ORDER BY t.column_id
FOR
XML PATH('')
), 1, 1, '')
EXEC( @sqlstr )
GO
EXEC sp_MS_marksystemobject '[sp_type]'
GO
】【打印繁体】【投稿】【收藏】 【推荐】【举报】【评论】 【关闭】 【返回顶部
分享到: 
上一篇SQL2000事务回滚问题 下一篇SQLServer存储过程返回值总结

评论

帐  号: 密码: (新用户注册)
验 证 码:
表  情:
内  容:

·Java 集合框架 - 菜 (2025-12-27 02:19:36)
·Java集合框架最全详 (2025-12-27 02:19:33)
·为什么安卓开发要用J (2025-12-27 02:19:30)
·C/C++ 类模板与模板 (2025-12-27 01:49:52)
·C语言 模板化<templ (2025-12-27 01:49:49)