将SQLServer中表按其结构生成SQl插入语句
2012-11-17 11:04
375 查看
前两天实施需要将SQLserver中表结构生成插入语句,在网上找到解决方案,整理了一下,转贴在此,供参考吧!步骤一、在sqlserver中建立存储过程。
步骤二、在sql查询分析器中执行:execspGenInsertSQL'TableName';
步骤三、将查询出来的结果另存。
.csharpcode,.csharpcodepre
{
font-size:small;
color:black;
font-family:consolas,"CourierNew",courier,monospace;
background-color:#ffffff;
/*white-space:pre;*/
}
.csharpcodepre{margin:0em;}
.csharpcode.rem{color:#008000;}
.csharpcode.kwrd{color:#0000ff;}
.csharpcode.str{color:#006080;}
.csharpcode.op{color:#0000c0;}
.csharpcode.preproc{color:#cc6633;}
.csharpcode.asp{background-color:#ffff00;}
.csharpcode.html{color:#800000;}
.csharpcode.attr{color:#ff0000;}
.csharpcode.alt
{
background-color:#f4f4f4;
width:100%;
margin:0em;
}
.csharpcode.lnum{color:#606060;}
sqlserver按表名生成插入语句存储过程CREATEprocedurespGenInsertSQL@tablenamevarchar(256) as begin declare@sqlvarchar(8000) declare@sqlValuesvarchar(8000) set@sql='(' set@sqlValues='values(''+' select@sqlValues=@sqlValues+cols+'+'',''+',@sql=@sql+name+',' from (selectcase whenxtypein(48,52,56,59,60,62,104,106,108,122,127) then'casewhen'+name+'isnullthen''NULL''else'+'cast('+name+'asvarchar)'+'end' whenxtypein(58,61) then'casewhen'+name+'isnullthen''NULL''else'+'''''''''+'+'cast('+name+'asvarchar)'+'+'''''''''+'end' whenxtypein(167) then'casewhen'+name+'isnullthen''NULL''else'+'''''''''+'+'replace('+name+','''''''','''''''''''')'+'+'''''''''+'end' whenxtypein(231) then'casewhen'+name+'isnullthen''NULL''else'+'''N''''''+'+'replace('+name+','''''''','''''''''''')'+'+'''''''''+'end' whenxtypein(175) then'casewhen'+name+'isnullthen''NULL''else'+'''''''''+'+'cast(replace('+name+','''''''','''''''''''')asChar('+cast(lengthasvarchar)+'))+'''''''''+'end' whenxtypein(239) then'casewhen'+name+'isnullthen''NULL''else'+'''N''''''+'+'cast(replace('+name+','''''''','''''''''''')asChar('+cast(lengthasvarchar)+'))+'''''''''+'end' else'''NULL''' endasCols,name fromsyscolumns whereid=object_id(@tablename) )T set@sql='select''INSERTINTO'+@tablename+left(@sql,len(@sql)-1)+')'+left(@sqlValues,len(@sqlValues)-4)+')''from'+@tablename print@sql exec(@sql) end GO
步骤二、在sql查询分析器中执行:execspGenInsertSQL'TableName';
步骤三、将查询出来的结果另存。
.csharpcode,.csharpcodepre
{
font-size:small;
color:black;
font-family:consolas,"CourierNew",courier,monospace;
background-color:#ffffff;
/*white-space:pre;*/
}
.csharpcodepre{margin:0em;}
.csharpcode.rem{color:#008000;}
.csharpcode.kwrd{color:#0000ff;}
.csharpcode.str{color:#006080;}
.csharpcode.op{color:#0000c0;}
.csharpcode.preproc{color:#cc6633;}
.csharpcode.asp{background-color:#ffff00;}
.csharpcode.html{color:#800000;}
.csharpcode.attr{color:#ff0000;}
.csharpcode.alt
{
background-color:#f4f4f4;
width:100%;
margin:0em;
}
.csharpcode.lnum{color:#606060;}
相关文章推荐
- 将SQLServer中表按其结构生成SQl插入语句
- Sqlserver根据表名生成insert 插入语句的sql
- EF监听生成的所有sql语句(包括插入,删除sql)
- 把SQL数据库生成脚本插入的 SQL语句
- SQL高级语句-Auto increment(自增) 会在新记录插入表中时生成一个唯一的数字。
- 如何将sqlserver表中的数据导出sql语句或生成insert into语句【转载】
- SQL语句生成表结构
- 将一个以逗号分隔的字符串拆分单个记录,并生成插入sql语句
- 如何将sqlserver表中的数据导出sql语句或生成insert into语句
- 将SQLSERVER 表记录生成插入语句
- sql 存储过程生成sql 插入语句
- SQL语句生成表结构
- SQLServer快速生成多字段sql语句
- SQL语句生成表结构对应的javabean及mybatis的resultMap
- 用Sql语句生成Sqlserver数据字典
- 处理数据批量生成sql插入语句
- 反射生成 INSERT 多个对象的 SQL 语句(批量插入)
- 根据数据字典表定义的表结构,生成创建表的SQL语句
- 动态生成多条插入语句如:insert into MyStudents values(“人名1”,年龄,‘男’,分数1,分数2)。将生成的插入语句输出到记事本文件 SQLStr.txt中
- 用Sql语句生成Sqlserver数据字典^_^