0

PL/SQL DEVELOPER <-------->版本:10.0.5.1710

当我们使用owa_util.choose_date时,会生成三个同名的选择标签....

htp.formopen(curl => 'package.procedure_prube');
owa_util.choose_date(p_name => 'date');
htp.formsubmit(cvalue => 'send');
htp.formclose;

例如,如果 procedure_prube 具有这种结构来打印在下一个网页中选择的三个选项.....

procedure procedure_prube(date in varchar2)
as
begin
htp.htmlopen;
htp.p('<p>'||date||'</p>');
htp.htmlclose;
end procedure_prube;

此代码仅打印第一个选项。

我知道当用户按下提交按钮时,如果表单方法是获取 url 具有这种结构....

http://localhost/dad_name/package.procedure_prube日期=12&日期=jen&日期=2021

                                                -------------------------------
                                                            query

该查询具有三个同名参数,Oracle 捕获第一个参数,其他参数被丢弃。这是我无法解决的问题。



这是另一个类似的问题

有什么方法可以在过程中捕获一些未定义的参数吗?例如

查询----> param1 =potato& param2 =tomato& param3 =carrot

 procedure procedure_prube(param1 in varchar2,param2 in varchar2)
    as
    begin
    htp.htmlopen;
    htp.p('<p>'||param1||'</p>');
    htp.p('<p>'||param2||'</p>');
    **--I want to print the param3**
    htp.htmlclose;
    end procedure_prube;

感谢您的关注。

4

1 回答 1

0
  1. 请不要问多个问题,而是打开单独的问题

  2. 您可以通过使用数组或灵活的参数传递来传递多个具有相同名称的参数。请参阅文档

    http://www.acme.com/pls/mydad/my_proc?val=john&val=sally

    过程 my_proc (val IN owa_util.ident_arr);

    http://www.acme.com/pls/mydad/!scott.my_pkg.my_proc?x=a&y=b&x=c

    过程 my_proc (name_arr IN owa.vc_arr, value_arr IN owa.vc_arr, p_name IN VARCHAR2, p_start IN PLS_INTEGER DEFAULT 0)

  3. 我不确定“未定义参数”是什么,但您很可能也可以使用灵活的参数传递。

于 2021-12-29T07:30:58.163 回答