只能通过存储过程实现。你可以参考一下我的文挡。
http://www.csdn.net/Develop/read_article.asp?id=12654

解决方案 »

  1.   

    用程序动态创建sql应该可以吧!不过字段真是太多了!
      

  2.   

    可以取得所有的字段到一个结果集,然后把它放到Cursor里边Declare @SSql Varchar(1000)
    Declare @SCol Varchar(100)
    Set @Ssql = 'Select '
    Declare Cursor Cur_Temp Scroll For
      Select name from syscolumns where id=object_id('TableName') Order By Colid
      Fetch Next From Cur_Temp Into @SCol
      While @@Fetch_Status = 0
      Begin
        If @SCol <> 'jx' 
        Begin
          Set @Ssql = @Ssql + @SCol
        End
      End
      Close Cur_Temp
      Deallocate Cur_Temp
      

  3.   

    怎么会没有啊你算一下从长沙到广州有多少个站名啊,就知道了啊,这还是少的啊~多没有关系,效率的问题先不考虑~~
    请搞手来帮忙吧~~~其实字段很有规律
    quduan01,quduan02.......quduan200
      

  4.   

    好像有一个反选择的,你试一试用
    select为返回项看一看;
    去SQL SERVER里边一问就知道了啊
      

  5.   

    气死我了,刚才写了一大堆,他告诉我网页出错
    可以取得所有的字段到一个结果集,然后把它放到Cursor里边
    Declare Cur_Temp cursor scroll for
    select name from syscolumns where id=object_id('Temp_Result') Order By Colid
    Declare @Ssql varchar(3000)
    Declare @Scol varchar(100)Set @Ssql = 'Select '
    Fetch Next From Cur_Temp Into @Scol
    While @@Fetch_Status = 0
    Begin
    If @Scol <> 'jx'
    Set @Ssql = @Ssql + @Scol
    Fetch Next From Cur_Temp Into @Scol
    End
    Close Cur_Temp
    Deallocate Cur_Temp
    Select @Scol
      

  6.   

    我认为你的表设计不合理。
    建议把宽表变窄表,增加数据的行数,这样会非常容易处理。
    还没有发现在SQL中能够动态生成SQL语句的。
    简单的才是合理的。方便的才是合理的。
      

  7.   

    create  Proc CopyHlCsDict 
    @JxSource Char(20),
    @JxTarget Char(20)
    as
    if exists(select * from hlcsdict where jx=@JxSource)
    Delete From HlCsDict
    Where Jx=@JxTargetinsert into HLCsDict
    select * from HlCsDict
    Where Jx=@JxSourceupdate HLCsDict 
       set jx=@JxTarget
    //考虑先插入,再更新
     Where Jx=@JxSource
      

  8.   

    ihihonline(小小):谢谢你的提示,我会去看看的 bisc_sunny:你的方法我马上试试 mengmengy(杨先生) :有时候是不可能去修改别人的表结构的啊
    因为是升级而不是去重新开发,那样的话,干脆就去重做好了啊,不过还是很
    谢谢你,呵呵,希望不回让你生气
     genphone_ru(票票) :兄弟啊,你的思路真的是不错啊,只可惜
    create unique index index_jx on jxdict(code),不过你说能不能把你的哪个数据集,放到一个临时表中去,然后更新了以后再写回数据库,具体应该怎么做?我不太清楚,能不能说说。
      

  9.   

    if exists(select name from sysobjects where name='CopyHlCsDict' and type='p')
    drop proc CopyHlCsDict
    gocreate  Proc CopyHlCsDict 
    @JxSource Char(20),
    @JxTarget Char(20)
    as
    if exists(select * from hlcsdict where jx=@JxTarget)
    Delete From HlCsDict
    Where Jx=@JxTarget 
    select * into #HlCsDict from HlCsDict
    where Jx=@JxSourceupdate  #Hlcsdict
    set jx=@JxTarget
    insert into HLCsDict
    select * from #HlCsDictdelete from #HlCsDictgrant all on CopyHlCsDict to publicgo这个样子行吗?还有什么地方需要改的啊?