表名 
student
(
    firstname varchar2(10),
    lastname varchar2(10)
)
存储过程 
create or replace procedure my_proc(col varchar2,val varchar2)
is
begin
    当col 是firstname 时 把val 插入到firstname字段,
    当col 是lastname时 把val 插入到lastname字段
end;
请问这个功能如何实现

解决方案 »

  1.   

    update table
    set 
    firstname=decode(col,'firstname',val,firstname),
    lastname=decode(col,'lastname',val,lastname)
      

  2.   

    update student 
    set 
    firstname=decode(col,'firstname',val,firstname),
    lastname=decode(col,'lastname',val,lastname)
      

  3.   

    create or replace procedure my_proc(col varchar2,val varchar2)
    is
    begin
        if lower(col)='firstname' then insert into student(firstname) values(val);
        end if;
        if lower(col)='lastname' then insert into student(lastname) values(val);
        end if;
    end; 
      

  4.   

    create or replace procedure my_proc(col varchar2,val varchar2) 
    is 
    begin 
        insert into student(firstname,lastname)
        select decode(col,'firstname',val),decode(col,'lastname',val),
        from dual;
    end;