WEB开发网
开发学院数据库MSSQL Server SQL SERVER数据导成INSERT 阅读

SQL SERVER数据导成INSERT

 2007-11-11 12:19:37 来源:WEB开发网   
核心提示:create proc spGenInsertSQL @TableName as varchar(100) as --declare @TableName varchar(100) --set @TableName = 'orders' --set @TableName = '

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  '  +  @TableName 
  exec  (@sql) 
  
  go

 EXEC spGenInsertSQL *TBLNAME*

Tags:SQL SERVER 数据

编辑录入:coldstar [复制链接] [打 印]
赞助商链接