最新文章专题视频专题问答1问答10问答100问答1000问答2000关键字专题1关键字专题50关键字专题500关键字专题1500TAG最新视频文章推荐1 推荐3 推荐5 推荐7 推荐9 推荐11 推荐13 推荐15 推荐17 推荐19 推荐21 推荐23 推荐25 推荐27 推荐29 推荐31 推荐33 推荐35 推荐37视频文章20视频文章30视频文章40视频文章50视频文章60 视频文章70视频文章80视频文章90视频文章100视频文章120视频文章140 视频2关键字专题关键字专题tag2tag3文章专题文章专题2文章索引1文章索引2文章索引3文章索引4文章索引5123456789101112131415文章专题3
问答文章1 问答文章501 问答文章1001 问答文章1501 问答文章2001 问答文章2501 问答文章3001 问答文章3501 问答文章4001 问答文章4501 问答文章5001 问答文章5501 问答文章6001 问答文章6501 问答文章7001 问答文章7501 问答文章8001 问答文章8501 问答文章9001 问答文章9501
当前位置: 首页 - 科技 - 知识百科 - 正文

自动生成INSERT语句的SQL存储过程

来源:懂视网 责编:小采 时间:2020-11-09 16:12:42
文档

自动生成INSERT语句的SQL存储过程

自动生成INSERT语句的SQL存储过程:这是建立一个存储过程,通过执行这个存储过程,将指定的数据表中的数据导成Insert语句形式 无 CREATE PROCEDURE #usp_GenInsertSql (@tablename VARCHAR(256))AS BEGIN DECLARE @sql VARCHAR(MAX) DECLARE @sqlValue
推荐度:
导读自动生成INSERT语句的SQL存储过程:这是建立一个存储过程,通过执行这个存储过程,将指定的数据表中的数据导成Insert语句形式 无 CREATE PROCEDURE #usp_GenInsertSql (@tablename VARCHAR(256))AS BEGIN DECLARE @sql VARCHAR(MAX) DECLARE @sqlValue

这是建立一个存储过程,通过执行这个存储过程,将指定的数据表中的数据导成Insert语句形式 无 CREATE PROCEDURE #usp_GenInsertSql (@tablename VARCHAR(256))AS BEGIN DECLARE @sql VARCHAR(MAX) DECLARE @sqlValues VARCHAR(MAX) SET @sql =' (' SET @sqlVa

这是建立一个存储过程,通过执行这个存储过程,将指定的数据表中的数据导成Insert语句形式 <无> $velocityCount-->
 CREATE PROCEDURE #usp_GenInsertSql (@tablename VARCHAR(256))
AS
 BEGIN
 DECLARE @sql VARCHAR(MAX)
 DECLARE @sqlValues VARCHAR(MAX)

 SET @sql =' ('
 SET @sqlValues = 'values (''+'

 SELECT @sqlValues = @sqlValues + cols + ' + '','' + ',
 @sql = @sql + QUOTENAME(name) + ','
 FROM (SELECT CASE
 WHEN xtype IN ( 48, 52, 56, 59,
 60, 62, 104, 106,
 108, 122, 127 ) THEN
 'case when ' + name
 + ' is null then ''NULL'' else ' + 'cast('
 + name + ' as varchar)' + ' end'
 WHEN xtype IN ( 58, 61 ) THEN
 'case when ' + name
 +
 ' is null then ''NULL'' else '
 + ''''''''' + ' + 'cast(' +
 name
 +
 ' as varchar)'
 + '+''''''''' + ' end'
 WHEN xtype = 167 THEN 'case when ' + name
 +
 ' is null then ''NULL'' else '
 + ''''''''' + ' + 'replace(' +
 name
 + ','''''''','''''''''''')' +
 '+'''''''''
 + ' end'
 WHEN xtype = 231 THEN 'case when ' + name
 +
 ' is null then ''NULL'' else '
 + '''N'''''' + ' + 'replace('
 +
 name
 + ','''''''','''''''''''')' +
 '+'''''''''
 + ' end'
 WHEN xtype = 175 THEN
 'case when ' + name
 + ' is null then ''NULL'' else '
 + ''''''''' + ' + 'cast(replace(' +
 name
 + ','''''''','''''''''''') as Char('
 + Cast(length AS VARCHAR) +
 '))+'''''''''
 + ' end'
 WHEN xtype = 239 THEN
 'case when ' + name
 + ' is null then ''NULL'' else '
 + '''N'''''' + ' + 'cast(replace(' +
 name
 + ','''''''','''''''''''') as Char('
 + Cast(length AS VARCHAR) +
 '))+'''''''''
 + ' end'
 ELSE '''NULL'''
 END AS Cols,
 name
 FROM syscolumns
 WHERE id = Object_id(@tablename)) T

 SET @sql ='select ''INSERT INTO [' + @tablename + ']'
 + LEFT(@sql, Len(@sql)-1) + ') '
 + LEFT(@sqlValues, Len(@sqlValues)-4)
 + ')'' from ' + @tablename + ';'


 EXEC (@sql)
 END

go

EXEC #usp_GenInsertSql
 test 

声明:本网页内容旨在传播知识,若有侵权等问题请及时与本网联系,我们将在第一时间删除处理。TEL:177 7030 7066 E-MAIL:11247931@qq.com

文档

自动生成INSERT语句的SQL存储过程

自动生成INSERT语句的SQL存储过程:这是建立一个存储过程,通过执行这个存储过程,将指定的数据表中的数据导成Insert语句形式 无 CREATE PROCEDURE #usp_GenInsertSql (@tablename VARCHAR(256))AS BEGIN DECLARE @sql VARCHAR(MAX) DECLARE @sqlValue
推荐度:
标签: 建立 过程 存储
  • 热门焦点

最新推荐

猜你喜欢

热门推荐

专题
Top