警告执行已完成,带有警告存储过程

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;

【讨论】:

以上是关于警告执行已完成,带有警告存储过程的主要内容,如果未能解决你的问题,请参考以下文章

警告:创建的过程带有编译错误

警告:创建的过程带有编译错误

DB2 LUW 版本 10.5.0.10 - 在存储过程中获取警告(未找到)行

Perl 执行 DBI 循环执行

存储过程和sql语句有啥区别

oracle警告日志文件ALERT.LOG的作用及其存储位置等