这说明oracle给此事务随机分配的回滚段太小了,这时可以为它指定一个足够大的回滚段,以确保这个事务的成功执行.例如
set transaction use rollback segment roll_20; //roll_20为回滚段名
set transaction use rollback segment roll_20; //roll_20为回滚段名
解决方案 »
- job在数据库停止后还执行吗
- ORACLE分页sql要怎么理解会比较清楚点啊
- clob类型
- 怎样把oracle9i备份的数据导入到oracle7中啊?
- 用imp导入数据时出现IMP-00013错误,求救!
- Oracle 数据库里默认的方案如SYSTEM中的数据表分别有怎样的作用?分不够再开新帖!
- oracle中如何定义计算列???
- oracle的表空间建在文件系统上安全么?能在数据库级对这个表空间做个镜像么?
- 如何删除dbms_job运行的一个计划任务???
- 在oracle里面怎么能看所有的表,还有怎么能看某一个表的结构呢,谢谢
- Oracle8i的表空间问题!
- 急!!!oracle8.05連接问题
...
loop
fetch cur_jdm into l_jdm;
exit when cur_jdm%notfound;
--规格,花色,品牌
begin
select a.gbspec,a.gbsphs,a.gbppcode
into l_jdm.gstspec,l_jdm.gsths,l_jdm.gstpp
from goodsbase a
where a.gbid = l_jdm.gstgdid;
EXCEPTION WHEN OTHERS THEN
l_jdm.gstspec := '';
l_jdm.gsths := '';
l_jdm.gstpp := '';
end;
...用一句sql就解决了:
update jxdcmonth x
set (gstspec,gsths,gstpp) =
(select gbspec, gbsphs, gbppcode
from goodsbase
where a.gbid = x.gstgdid)
where jdmmonth = v_month;其他的也类似。另外sum(a.gsthsjj)/count(a.gsthsjj)这样的写法也觉得怪,用avg(a.gsthsjj)不行吗?