警告执行已完成,带有警告存储过程
Posted
技术标签:
【中文标题】警告执行已完成,带有警告存储过程【英文标题】:warning execution completed with warning stored procedure 【发布时间】:2021-08-19 22:21:36 【问题描述】:我在 oracle sql developer 中编写了一个存储过程,稍后将在 .netframework 应用程序中使用 编译存储过程给了我这个消息 警告:执行完成但有警告 程序选择已编译。
我如何在谷歌搜索时查看警告。所有建议使用命令“显示错误过程过程名称”的结果 但它没有工作
过程
create or replace procedure selection
(p_id in NUMBER(10),p_name out varchar2(40),p_cat out varchar2(40),stock out number(10),price out
number(9.2),sup out number(10))
as
begin
select p.prod_name into p_name,p.prod_category into p_cat,p.stock into stock,p.price into
price,p.sup_id into sup
from product p
where p.prod_id = p_id;
end;
【问题讨论】:
如果您使用的是 SQL Developer,消息窗口中应该有一个编译器日志,并且错误将被打印到脚本输出窗口。您也可以查询user_errors
,但这不是必需的。您使用的是旧版本的 SQL Developer(在这种情况下,窗口的名称可能已更改)?
您没有在参数上声明大小。所以尝试:创建或替换程序选择(p_id in NUMBER,p_name out varchar2,p_cat out varchar2,stock out number,price out number,sup out number)。这可能不是全部,但一目了然。
贾斯汀洞穴谢谢你我找到了
【参考方案1】:
试试这个兄弟
create or replace procedure selection
(p_id in NUMBER,
p_name out varchar2,
p_cat out varchar2,
stock out number,
price out number ,
sup out number)
as
begin
select p.prod_name, p.prod_category ,p.stock ,p.price ,p.sup_id
into p_name, p_cat, stock, price, sup
from product p
where p.prod_id = p_id;
end;
【讨论】:
以上是关于警告执行已完成,带有警告存储过程的主要内容,如果未能解决你的问题,请参考以下文章