gpt4 book ai didi

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

转载 作者:行者123 更新时间:2023-12-04 10:12:56 24 4
gpt4 key购买 nike

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

如果我使用

execute  my_stored_proc (-1,2,0.01) 

我收到这个错误
PLS-00306: wrong number or types of arguments in call to my_stored_proc

proc的开始是这样的
create or replace PROCEDURE my_stored_proc
( a IN NUMBER,
b IN NUMBER,
c IN NUMBER,
z out NUMBER
) AS ....

我是否需要为 out 参数提供一个 var,是这样吗?我试过:
var z  NUMBER;

但是当我尝试运行 proc 时出现此错误
execute  my_stored_proc (-1,2,0.01,z) 
PLS-00201: identifier 'Z' must be declared

此外,当我在 SQL-Developer 中时,它给了我用法并以相反的顺序显示输入,即:
execute my_stored_proc(z number,c number,b number,a number);

您是否以相反的顺序提供它们,或者这只是 SQL-Developer 的东西

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

谢谢

最佳答案

您有两个选择,PL/SQL block 或 SQL*Plus 绑定(bind)变量:

var z number

execute my_stored_proc (-1,2,0.01,:z)

print z

关于sql - 如何从 SQL Plus 执行存储过程?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/2115423/

24 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com