麻烦给我看一下问题出在什么地方。
vTableName,vTHKcdm,vYKcdm都是varchar2类型。
sqlstr:='UPDATE ' ¦ ¦vTableName ¦ ¦' SET ' ¦ ¦'kcdm=:vTHK WHERE kcdm=:vYK';
execute immediate sqlstr using vTHKcdm,vYKcdm;
执行时总是提示:缺失 SET 关键字。
vTableName,vTHKcdm,vYKcdm都是varchar2类型。
sqlstr:='UPDATE ' ¦ ¦vTableName ¦ ¦' SET ' ¦ ¦'kcdm=:vTHK WHERE kcdm=:vYK';
execute immediate sqlstr using vTHKcdm,vYKcdm;
执行时总是提示:缺失 SET 关键字。
就对了,vTableName少了单引号。
sqlstr输出来是这样的,
UPDATE BCJPMKCB SET KCDM='089999' WHERE KCDM='089550'
execute immediate sqlstr 时还是提示:缺失 SET 关键字。
不过要输出的不是你想要表达,而应该是
dbms_output.put_line(sqlstr)
然后把参数值带入再到其它窗口下执行,就知道到底怎么回事了。