毕业论文开发语言企业开发JAVA技术.NET技术WEB开发Linux/Unix数据库技术Windows平台移动平台嵌入式论文范文英语论文
您现在的位置: 毕业论文 >> 数据库 >> 正文

oracle中创建存储过程出现已编译,但出现警告 第2页

更新时间:2012-10-19:  来源:毕业论文
rollback mystart;
这一句改成 rollback to savepoint mystart

还有就是这个savepoint mystart具体是什么意思,电加热炉温度控制系统的设计为什么网上有些人写的存储过程也不用这个,请赐教!!

这个就是一个保存点,如果有多个保存点,rollback的时候可以选择rollback到哪个保存点。
对于你的这个过程,可以把savepoint mystart这句去掉,把最后的rollback语句直接写成rollback即可

errors:=1;--这个要放在BEGIN之后,AS之后BEGIN之前是声明变量的,不能直接给参数赋值

下面这段会出现逻辑问题,LZ稍微测试下就知道。假设swq_que初始值=0
insert into orders values(swq_que.nextval,uname);--插入订单表--这里的订单ID=1
  select oid into oids from orders where username=uname;--订单ID赋值
  update books set stock=stock-10 where bid=bid;--更新库存
  insert into items values(swq_que.nextval,oids,bid,sysdate,counts,price,counts*price);--插入订单--但是这里的订单ID=2

调用上述存储过程为:
 DECLARE
errors NUMBER;
BEGIN
  update_order(11,'luckytoms',1,'12',errors);
  DBMS_OUTPUT.PUT_LINE(errors);
END;

异常如下:
【错误报告:
ORA-06550: 第 4 行, 第 3 列: 
PLS-00905: 对象 QUE.UPDATE_ORDER 无效 --说明你的存储过程编译未通过。。。对象无效,因为errors:=1的位置不正确。。。

上一页  [1] [2] 

设为首页 | 联系站长 | 友情链接 | 网站地图 |

copyright©youerw.com 优尔论文网 严禁转载
如果本毕业论文网损害了您的利益或者侵犯了您的权利,请及时联系,我们一定会及时改正。