专注收集记录技术开发学习笔记、技术难点、解决方案
网站信息搜索 >> 请输入关键词:
您当前的位置: 首页 > Oracle开发

存储过程中使用for出现ORA-01732解决方法

发布时间:2010-05-20 14:01:29 文章来源:www.iduyao.cn 采编人员:星星草
存储过程中使用for出现ORA-01732
CREATE OR REPLACE PROCEDURE test
AS
i number;
a varchar2(100);
b varchar2(100);
c varchar2(100);
  BEGIN
  for i in 1..12 loop
  a:='M||i';
  b:='hj_||i||m';
  c:='zl_M||i';
  update ydtjb_12m set a = b / c * 100;
  commit;
  end loop;
  END;

ora-01732错误:data manipulation operation not legal on this view ,现请教出现这个错误的解决办法。


------解决方案--------------------
a:='M'||i;
b:='hj_'||i||'m';
c:='zl_M'||i;

ydtjb_12m是表还是视图 如果是视图看视图是否可以修改数据
另外你要保证你 拼接的a值 确实是ydtjb_12m里的一个列名
另外我想问你 你拼接的b,c 不会是ydtjb_12m里的列名吧
如果是 那就用
varchar2(100) str := 'update ydtjb_12m set '|| a || '=' ||b||'/'||c||'*100';
execute immediate str;
友情提示:
信息收集于互联网,如果您发现错误或造成侵权,请及时通知本站更正或删除,具体联系方式见页面底部联系我们,谢谢。

其他相似内容:

热门推荐: