try try 动态sql:
sql := 'update table_name set '||field1||' = ... where ...';
execute immediate sql;

解决方案 »

  1.   

    能把问题讲清楚一点吗?查查相关动态sql语句。
      

  2.   

    create table t1(aa char(1) ,bb char(1));
    insert into t1 values('1','a');
    commit;
    declare
      ls_field varchar(20);
      ls_sql varchar(100);
    begin
      ls_field:='aa';
      ls_sql:='update t1 set '||ls_field||' = ''2'' where bb=''a'' ';
      execute immediate ls_sql;
    end;
    /
      

  3.   

    create or replace procedure sp_yourpro(field1 in sting)
    is
    ...
    begin
      sql := 'update table_name set '||field1||' = ... where ...';
      execute immediate sql;
      ...
    end;
      

  4.   

    create or replace procedure sp_yourpro(field1 in sting)
    is
    ...
    begin
      sql := 'update table_name set ''||field1||'' = ... where ...';
      execute immediate sql;
      ...
    end;