userinfo到底是表还是字段呀,faint

解决方案 »

  1.   

    好像不是楼主说的那么难,有点危言耸听了啦
    如果我没有理解失误的话:create table backuser(userinfo varchar(8000))
    --如果字段不够存取,可用textinsert into backuser 
    select top 1000 ( [username] + '|' +  [Phone]  + '|' + [IDX] + '|' +  [PostNumber] + '|' +  [Email]) as userinfo
    from user--这里保证各个字段是字符,不是请转化delete from [user]
    where username in (select select top 1000 [username] from user)
    --假如username是key值,不是你要用临时表对每个列个序号
      

  2.   

    这几个问题不是很难吧, MorningTea妹妹的方法就可以了
      

  3.   

    1:Create table backuser(userinfo varchar(2000))
    2:
    declare @s varchar(8000)
    set @s=''
    select @s=@s+'||'+T from
    (select convert(varchar(20),[username])+
    convert(varchar(20),[Phone])+convert(varchar(20),[IDX])+convert(varchar(20),[PostNumber])+convert(varchar(20),[Email]) T from user ) Cinsert into userinfo select @s 3:truncate table userinfo
      

  4.   

    1. create table backuser(userinfo varchar(1000))
    2.
    3.4.写在一起
    --做个循环实现
    declare @username varchar(100) 
    declare @a int
    set @a=0
    set @username=''
    select @a=count(1) from [userid] 
    set @a=(@a/1000)+1
    while @a>=0 begin
    truncate table [userinfo] 
    insert [userinfo] select top 1000 [username]+'|'+conver(varchar(100),[Phone])+'|'+convert(varchar(100),[IDX])+'|'+convert(varchar(100),[PostNumber])+'|'+[Email] from [user] where [username]>@username order by [username]
    select @username=max([username]) from [userinfo]
    select * from [userinfo] --这里可以增加你的处理
    set @a=@a-1
    end
    go
      

  5.   

    --表名写错了,不过也是受楼主的影响declare @username varchar(100) 
    declare @a int
    set @a=0
    set @username=''
    select @a=count(1) from [userid] 
    set @a=(@a/1000)+1
    while @a>=0 begin
    truncate table [backuser] 
    insert [backuser] select top 1000 [username]+'|'+conver(varchar(100),[Phone])+'|'+convert(varchar(100),[IDX])+'|'+convert(varchar(100),[PostNumber])+'|'+[Email] from [user] where [username]>@username order by [username]
    select @username=max([username]) from [backuser]
    select * from [backuser] --这里可以增加你的处理
    set @a=@a-1
    end
    go
      

  6.   

    --还是有点问题,再改一下  
    declare @username varchar(100) 
    declare @a int
    set @a=0
    set @username=''
    select @a=count(1) from [userid] 
    set @a=(@a/1000)+1
    while @a>=0 begin
    truncate table [backuser] 
    insert [backuser] select top 1000 [username]+'|'+conver(varchar(100),[Phone])+'|'+convert(varchar(100),[IDX])+'|'+convert(varchar(100),[PostNumber])+'|'+[Email] from [user] where [username]>@username order by [username]
    select @username=max(left([username],charindex('|',[username])-1)) from [backuser]
    select * from [backuser] --这里可以增加你的处理
    set @a=@a-1
    end
    go
      

  7.   

    不好意思 终于把项目搞定了 谢谢楼上的朋友  点那里送分出去? 找不到送分的按钮了 呵呵
    可能我的表达有错误 不过 xueguang(xg)这为兄弟的确给了不少帮助
      

  8.   

    那楼主要的就是select top 1000 ,并且拼成一个字段写入到新表嘎?