编程论坛's Archiver

wwpewr 发表于 2006-7-25 20:40

execute immediate 的问题

写了一个存储过程如下:<BR>create or replace procedure chang_preset_por(var_tbl IN VARCHAR2)<BR>is<BR>       ...........................................<BR>       type t_cursor is ref cursor;<BR>       preset_cur           t_cursor;<BR>       var_sql             varchar2(2000);<BR>       var_update          varchar2(2000);<BR>begin<BR>    var_sql:='<BR>              select DATA_FMT_DETAIL<BR>              from ' || var_tbl || ' <BR>              where DATA_FMT = 2<BR>              for update of DATA_FMT_DETAIL nowait';<BR>     open preset_cur for var_sql;<BR>     fetch preset_cur into var_oldpreset;<BR>     <BR>     ..........................................<BR>     var_update := 'UPDATE ' || var_tbl || ' SET DATA_FMT_DETAIL= ''' || var_newpreset || ''' WHERE CURRENT OF preset_cur';<BR>             execute immediate var_update;<BR>     ...........................................................<BR>     close preset_cur;<BR>end chang_preset_por ;<BR><BR>运行到“execute immediate var_update;”时出错,请高手指教一下,是那里出了错??execute immediate和WHERE CURRENT OF不能在一起用吗???

页: [1]

Powered by Discuz! Archiver 6.1.0  © 2001-2007 Comsenz Inc.