【发布时间】:2018-07-27 17:41:56
【问题描述】:
我使用的是 Oracle 12c,并且有一个接受 4 个输入字段的存储过程,使用相同的字段查询数据库并返回结果集。但是,这 4 个输入字段是来自前端的用户输入值,因此用户可能会也可能不会输入所有 4 个输入字段。我需要使用它接收到的任何值来执行存储过程并忽略其余的。
存储过程定义:
procedure retrieve_data (
p_sn_no in integer,
p_name in varchar2,
p_city in varchar 2,
p_phone in integer,
return_msg out number)
is begin
select count(*) into return_msg from <table_name>
where sn_no=p_sn_no and name=p_name
and city=p_city and phone=p_phone
end
要求是使用任何或所有输入参数调用上述存储过程,但如何在存储过程中准备select 语句与所有或少数输入字段,例如select count(*) into return_msg from <table_name> where sn_no=p_sn_no,而不是传递所有 4输入字段?
【问题讨论】:
-
欢迎来到 SO。请使用tour 并阅读How to Ask 并发布minimal reproducible example
标签: oracle stored-procedures plsql oracle12c