create OR replace procedure movesql6 (v_what in varchar ,v_being in varchar ,v_id in number ) as
v_sql varchar2(100);
v_cur number ;
v_get integer;
BEGIN
--v_sql:='update T2 set '||v_what||' = '''||v_being||''' where id= '||v_id ;
v_sql:='update T2 set '||v_what||' = :being where id= :id ';
v_cur:=dbms_sql.open_cursor;
dbms_sql.parse(v_cur,v_sql,dbms_sql.native);
dbms_sql.bind_variable(v_cur,':being',v_being);
dbms_sql.bind_variable(v_cur,':id',v_id);
v_get:=dbms_sql.execute(v_cur);
dbms_sql.close_cursor(v_cur);
commit;
dbms_output.put_line(v_sql);
END;
/
set serveroutput on;
BEGIN
movesql3('name','ok',6);
END;
/
看样大家都很忙
|