当前位置: 首页 > 图文教程 > 数据库 > MSSQL > SQL SERVER数据导成INSERT

MSSQL
如何取得一个表的所有字段名用逗号分割
Sql Server下数据库链接的使用方法
修改SQL SERVER内置存储过程
oracle中解决汉字无法显示、输入问题
两台SQL Server数据同步解决方案
SQL服务器内存有两种基本管理方法:动态分配和静态分配
SQL Server里函数的两种用法(可以代替游标)
sql server的cube操作符使用详解
SQL中HAVING从句的用法
使用T_SQL脚本创建SQLServer2000后台计划作业任务
SQL Server中合并用户日志表的方法
SQL Server 本机 Web 服务的使用方案
Windows XP下安装SQL2000企业版
三步堵死SQL注入漏洞
HOW TO:使用 Osql 工具管理 SQL Server 桌面引擎 (MSDE 2000
如何获取SQL Server数据库里表的占用容量大小
查询表主键外键信息的SQL
SQL Server根据查询结果,生成XML文件
SQL Server2005 Analysis服务实践之起步
关于对sql2000查询结果进行相关度排序的测试

MSSQL 中的 SQL SERVER数据导成INSERT


出处:互联网   整理: 软晨网(RuanChen.com)   发布: 2009-10-30   浏览: 102 ::
收藏到网摘: n/a

create     proc   spGenInsertSQL  
  @TableName   as   varchar(100)  
  as  
  --declare   @TableName   varchar(100)  
  --set   @TableName   =   'orders'  
  --set   @TableName   =   'eeducation'  
  DECLARE   xCursor   CURSOR   FOR  
  SELECT   name,xusertype  
  FROM   syscolumns  
  WHERE   (id   =   OBJECT_ID(@TableName))  
  declare   @F1   varchar(100)  
  declare   @F2   integer  
  declare   @SQL   varchar(8000)  
  set   @sql   ='SELECT   ''INSERT   INTO   '   +   @TableName   +   '   VALUES('''  
  OPEN   xCursor  
  FETCH   xCursor   into   @F1,@F2  
  WHILE   @@FETCH_STATUS   =   0  
  BEGIN  
          set   @sql   =@sql   +  
                              +   case   when   @F2   IN   (35,58,99,167,175,231,239,61)   then   '   +   case   when   '   +   @F1   +   '   IS   NULL   then   ''''   else   ''''''''   end   +   '     else   '+'   end  
                              +   'replace(ISNULL(cast('   +   @F1   +   '   as   varchar(8000)),''NULL''),'''''''','''''''''''')'    
                              +   case   when   @F2   IN   (35,58,99,167,175,231,239,61)   then   '   +   case   when   '   +   @F1   +   '   IS   NULL   then   ''''   else   ''''''''   end   +   '     else   '+'   end  
                              +   char(13)   +   ''','''    
          FETCH   NEXT   FROM   xCursor   into   @F1,@F2  
  END  
  CLOSE   xCursor  
  DEALLOCATE   xCursor  
  set   @sql   =   left(@sql,len(@sql)   -   5)   +   '   +   '')''   FROM   '   +   @Ta