表t,知道t的第3列的名字为变量@name,我想更新这一列里的数据,
可以通过序号3或@name 来实现吗即更新语句 update t set XXX = 'mm" where ...
怎么写,多谢指教!!!

解决方案 »

  1.   

    declare name   varchar(40);
            sqlstr varchar2(8000);name  :='column3'
    sqlstr:='update t set '||name||' = xxx where ...'execute immediate sqlstr;
      

  2.   

    多谢libin_ftsafe(子陌红尘) ( ) ! 我去试试
      

  3.   

    在 SQL SERVER 中怎么写?
      

  4.   

    declare @name  varchar2(40),@sqlstr varchar2(8000)set @name='column3'
    set @sqlstr='update t set '+name+'=''mmm'' where ...'exec(@sqlstr)
      

  5.   

    try:
    ------------------------------------------------------------------------------------
    declare name   varchar2(40);
            sqlstr varchar2(8000);name  :='column3'
    sqlstr:='update t set '||name||' = "mmm" where ...'execute immediate sqlstr;
      

  6.   

    SQL Server 2000:
    ---------------------------------------------------------------------------
    declare @name varchar(40),@sqlstr varchar(8000)set @name='column3'
    set @sqlstr='update t set '+name+'=''mmm'' where ...'exec(@sqlstr)