设为首页 加入收藏

TOP

分享:sp_type返回表结构字段类型及长度等
2014-11-24 07:22:42 来源: 作者: 【 】 浏览:1
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-25 20:25:44)
·Java面试技巧:如何 (2025-12-25 20:25:41)
·Java并发编程中的线 (2025-12-25 20:25:38)
·C 语言 - cppreferen (2025-12-25 19:50:27)
·《C 语言入门教程》 (2025-12-25 19:50:23)