首页新闻找找看学习计划

怎么知道Oracle 存储过程中,哪些地方有错?

0
悬赏园豆:10 [已解决问题] 解决于 2014-08-10 13:03

我写了一个储存过程,完了之后有个红叉,右击--test的时候,弹出一个 xxx is invalid.

但不提示具体是哪错了。。

如下图:

 

 

 

代码如下,请帮忙看看是哪出错了,最重要的是想知道怎么看哪出错。。谢谢大家:

create or replace  procedure KillLock
is
begin
   declare cur cursor is Select spid  From v$session s,v$process p 
Where s.paddr=p.addr And s.sid in(Select Sid From v$session Where Sid in(Select session_id From v$locked_object));
declare :id int;


begin
  open cur;
  loop
EXIT WHEN cur%NOTFOUND
fetch next from cur into :id

execute immediate 'orakill sid '+:id
end loop;

end 
close cur
deallocate cur
  end
hexllo的主页 hexllo | 菜鸟二级 | 园豆:405
提问于:2014-08-01 14:47
< >
分享
最佳答案
0

hexllo | 菜鸟二级 |园豆:405 | 2014-08-10 13:03
其他回答(2)
0

亲你就根本没编译通过啊,所以才会有个红色叉叉,你用的是sqlplus吧,你还是看看你的存储过程哪里出问题了,在进行测试

收获园豆:8
LgV5 | 园豆:221 (菜鸟二级) | 2014-08-01 14:57

还有你的游标写法有错误吧,感觉像是sqlserver的样子,我是4月份转的sqlserver,没办法换公司了,但是我记得oracle的游标是这样的  declare cursor my_cursor is select xx from xxx

支持(0) 反对(0) LgV5 | 园豆:221 (菜鸟二级) | 2014-08-01 15:00
0
收获园豆:2
dudu | 园豆:39829 (高人七级) | 2014-08-01 14:58
清除回答草稿
   您需要登录以后才能回答,未注册用户请先注册