【问题标题】: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)。这可能不是全部,但一目了然。
  • 贾斯汀洞穴谢谢你我找到了

标签: stored-procedures plsql oracle11g


【解决方案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;

【讨论】:

    猜你喜欢
    • 1970-01-01
    • 2017-04-16
    • 1970-01-01
    • 2011-02-12
    • 1970-01-01
    • 1970-01-01
    • 2018-11-03
    • 2011-02-21
    • 2014-05-15
    相关资源
    最近更新 更多