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

MSSQL
SQL Server 索引结构及其使用(一)
SQL中查询数据表字段名称的查询语句
SQL Server 索引结构及其使用(二)
SQL技巧:使用SQL子选择来合并查询
如何恢复/修复MS SQL数据库的MDF文件
获取SQL Server元数据的几种方法
在SQL Server中通过原子建立分子查询
保护SQL Server数据库的十个步骤介绍
SQL Server数据库崩溃后的恢复方法简介
SQL Server与Oracle、DB2的性能比较
SQL Server中用索引视图查看性能状况
利用SQL Server系统函数进行代码存档
将 MS SQL Server 2005 SP2 整合到安装文件
如何改进SQL Server安全系统
SQL Server管理常用的SQL和T-SQL简介
精华推荐:SQL Server的用户及权限
Sql server 如何得到汉字的声母
sql server中order by部分使用方式
在SQLServer中用XQuery分解XML数据
两个sql server 2000的通用分页存储过程

MSSQL 中的 SQL SERVER数据导成INSERT


出处:互联网   整理: 软晨网(RuanChen.com)   发布: 2009-10-30   浏览: 62 ::
收藏到网摘: 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