小编cod*_*ody的帖子

如何从SQL Plus执行存储过程?

我在oracle中有一个存储过程,想要从SQLPlus中测试它.

如果我使用

execute  my_stored_proc (-1,2,0.01) 
Run Code Online (Sandbox Code Playgroud)

我收到这个错误

PLS-00306: wrong number or types of arguments in call to my_stored_proc
Run Code Online (Sandbox Code Playgroud)

proc的开始就是这个

create or replace PROCEDURE my_stored_proc
( a IN NUMBER, 
  b IN NUMBER, 
  c IN NUMBER, 
  z out NUMBER
) AS ....
Run Code Online (Sandbox Code Playgroud)

我是否需要为out参数提供一个var,是这样的?我试过了:

var z  NUMBER;
Run Code Online (Sandbox Code Playgroud)

但是当我尝试运行proc时会出现此错误

execute  my_stored_proc (-1,2,0.01,z) 
PLS-00201: identifier 'Z' must be declared
Run Code Online (Sandbox Code Playgroud)

此外,当我在SQL-Developer中它给了我用法,它以相反的顺序显示输入,即:

execute my_stored_proc(z number,c number,b number,a number);
Run Code Online (Sandbox Code Playgroud)

你是以相反的顺序提供它们还是只是用SQL-Developer提供它们

我没有编写程序,我通常不会处理它们,所以我可能会遗漏一些明显的东西.

谢谢

sql oracle stored-procedures

7
推荐指数
1
解决办法
17万
查看次数

标签 统计

oracle ×1

sql ×1

stored-procedures ×1