gpt4 book ai didi

SQL - 没有规范就无法编译 的主体

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

关闭。这个问题是not reproducible or was caused by typos .它目前不接受答案。












想改善这个问题吗?更新问题,使其成为 on-topic对于堆栈溢出。

6年前关闭。




Improve this question




尝试创建一个将进行计算的包:一个过程保存一个带有数字的变量,然后我将调用该包以及该变量,然后进行计算并打印出来。但是我知道“my_pkg 无效”和“没有规范就无法编译主体”
任何输入都非常受欢迎

create or replace package my_pkg as
Procedure do_calc(v_add number);
v_sum number;
v_number number;
end my_pkg;
/

create or replace package body my_pkg as
Procedure do_calc (v_add number) is
v_sum number;
v_number number;
begin
v_number := 10;
v_sum := v_number + v_add;
dbms_output.put_line('sum is: '||v_sum);
end do_calc;
end my_pkg;
/

最佳答案

我删除了您在包中声明的变量,因为它们不是必需的。您在过程中使用的变量可以在包中声明,但它们对于在包上执行的任何人都是全局的。另外,作为一个提示,不要在同一个包中声明不同作用域的同名变量,这会增加调试难度。

create or replace package my_pkg as
Procedure do_calc(v_add_in number IN);
--v_sum number; --you don't need these, they are internal package variables
--v_number number;
end my_pkg;
/

create or replace package body my_pkg as
Procedure do_calc (v_add_in number IN) is
v_sum number;
v_number number;
begin
v_number := 10;
v_sum := v_number + v_add;
dbms_output.put_line('sum is: '||v_sum);
end do_calc;
end my_pkg;
/

关于SQL - 没有规范就无法编译 <package> 的主体,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/29169465/

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