Plsql 当我提供I/p时执行函数[表中没有的参数,我得到了错误;否则它会被执行] 在varchar2中创建或替换函数get_ware_house_masterp_WAREHOUSE_ID 返回id\u wh\u id 是 l_仓库_列表id_wh.id:=id_wh\u id; str varchar2300; 开始 str:=“选择BMw.wh\u id 从pod_地点_仓库_映射_tb W 其中W.wh|u id在'p|u WAREHOUSE|u id|; 立即将str批量收集到l_仓库_清单中; 对于l_warehouse_列表中的i。第一..l_warehouse_列表。最后一个循环 dbms_output.put_linel_warehouse_listi.wh_id; 端环; 返回仓库清单; 最终获得物品、房子和主人;
如何处理我需要使用的表中不存在的数据如果l_warehouse_list=null,则dbms_输出“未找到数据”,但如果函数中提到的表中不存在数据,则我得到以下错误: 数字或值更改错误 您可以对您的收藏使用count函数: 在varchar2中创建或替换函数get_ware_house_masterp_WAREHOUSE_ID 返回id\u wh\u id 是 l_仓库_列表id_wh.id:=id_wh\u id; str varchar2300; 开始 str:=“选择BMw.wh\u id 从pod_地点_仓库_映射_tb W 其中W.wh|u id在'p|u WAREHOUSE|u id|; 立即将str批量收集到l_仓库_清单中; 如果l_warehouse_list.count>0,则 对于l_warehouse_列表中的i。第一..l_warehouse_列表。最后一个循环 dbms_output.put_linel_warehouse_listi.wh_id; 端环; 其他的 dbms_output.put_行“无数据”; 如果结束; 返回仓库清单; 最终获得物品、房子和主人; 下面是如何在不简化代码的情况下演示最新版本:Plsql 当我提供I/p时执行函数[表中没有的参数,我得到了错误;否则它会被执行] 在varchar2中创建或替换函数get_ware_house_masterp_WAREHOUSE_ID 返回id\u wh\u id 是 l_仓库_列表id_wh.id:=id_wh\u id; str varchar2300; 开始 str:=“选择BMw.wh\u id 从pod_地点_仓库_映射_tb W 其中W.wh|u id在'p|u WAREHOUSE|u id|; 立即将str批量收集到l_仓库_清单中; 对于l_warehouse_列表中的i。第一..l_warehouse_列表。最后一个循环 dbms_output.put_linel_warehouse_listi.wh_id; 端环; 返回仓库清单; 最终获得物品、房子和主人;,plsql,Plsql,如何处理我需要使用的表中不存在的数据如果l_warehouse_list=null,则dbms_输出“未找到数据”,但如果函数中提到的表中不存在数据,则我得到以下错误: 数字或值更改错误 您可以对您的收藏使用count函数: 在varchar2中创建或替换函数get_ware_house_masterp_WAREHOUSE_ID 返回id\u wh\u id 是 l_仓库_列表id_wh.id:=id_wh\u id; str varchar2300; 开始 str:=“选择BMw.wh\u i
CREATE OR REPLACE TYPE id_wh_id AS TABLE OF VARCHAR2(100);
create or replace function get_ware_house_master(p_WAREHOUSE_IDS in varchar2)
return id_wh_id
is
l_warehouse_list id_wh_id := id_wh_id();
str varchar2(300);
begin
str := 'SELECT * from dual where ''a''=''' ||p_WAREHOUSE_IDS || '''';
dbms_output.put_line(str);
execute immediate str bulk collect into l_warehouse_list;
if l_warehouse_list.count() >0 then
for i in l_warehouse_list.first..l_warehouse_list.last loop
dbms_output.put_line(l_warehouse_list(i));
end loop;
else
dbms_output.put_line('No data');
end if;
return l_warehouse_list;
end get_ware_house_master;
/
-- and call to the function:
select get_ware_house_master('sbi') from dual
union all select get_ware_house_master('a') from dual
;
您是否尝试处理无数据异常?请编辑您的问题并提供有关您看到的错误的信息。谢谢。是的,我已经用过了,但尽管如此,如果我在处理其他数据时使用数据,如果数据不存在,我会得到错误ora 06502值或数字错误,但我必须使用no_数据,因为当找不到o_数据时,我需要显示o/p状态