参数数量或类型错误错误oracle表单错误
我在程序单元Oracle窗体下创建了程序 代码:参数数量或类型错误错误oracle表单错误,oracle,plsql,oracleforms,oracle-fusion-middleware,Oracle,Plsql,Oracleforms,Oracle Fusion Middleware,我在程序单元Oracle窗体下创建了程序 代码: PROCEDURE VALIDATION_TEST (p_mid we_group_hof_k.mstatusid%TYPE, p_status we_group_hof_k.cardstatus%TYPE ) is begin insert into test select mstatusid, cardstatus from we_group_hof_k
PROCEDURE VALIDATION_TEST
(p_mid we_group_hof_k.mstatusid%TYPE,
p_status we_group_hof_k.cardstatus%TYPE
) is
begin
insert into test
select mstatusid, cardstatus
from we_group_hof_k
where p_mid = 1
and p_status = 'A';
end;
该程序成功地符合要求。当按钮按下触发“测试”按钮时,我打开了这条线
当我试图编译“测试”按钮时,我得到以下错误:
wrong number or types of arguments in call to 'VALIDATION_TEST'
我使用的是oracle forms 11g
如何解决此问题?您已使用两个参数定义了您的过程。您对该过程的调用传递了零个参数。因此,您可以通过在调用过程时传递两个参数来解决这个问题 或者从过程的签名中删除参数。因为坦率地说,你的代码没有多大意义。WHERE子句根据硬编码值测试参数。因此,如果传递的参数是
1
和'A'
,则选择we\u group\u hof\u k
中的所有记录,否则不选择任何记录
也许这就是你需要的
PROCEDURE VALIDATION_TEST
(p_mid we_group_hof_k.mstatusid%TYPE,
p_status we_group_hof_k.cardstatus%TYPE
) is
begin
insert into test
select mstatusid, cardstatus
from we_group_hof_k
where mstatusid = p_mid
and cardstatus = p_status;
end;
然后您可以这样调用您的过程:
VALIDATION_TEST(1, 'A');
尽管如此,由于此过程是从Oracle窗体调用的,您可能需要从窗体块传入项。但是只有你知道这一点。你已经用两个参数定义了你的过程。您对该过程的调用传递了零个参数。因此,您可以通过在调用过程时传递两个参数来解决这个问题 或者从过程的签名中删除参数。因为坦率地说,你的代码没有多大意义。WHERE子句根据硬编码值测试参数。因此,如果传递的参数是
1
和'A'
,则选择we\u group\u hof\u k
中的所有记录,否则不选择任何记录
也许这就是你需要的
PROCEDURE VALIDATION_TEST
(p_mid we_group_hof_k.mstatusid%TYPE,
p_status we_group_hof_k.cardstatus%TYPE
) is
begin
insert into test
select mstatusid, cardstatus
from we_group_hof_k
where mstatusid = p_mid
and cardstatus = p_status;
end;
然后您可以这样调用您的过程:
VALIDATION_TEST(1, 'A');
尽管如此,由于此过程是从Oracle窗体调用的,您可能需要从窗体块传入项。但只有您知道这一点。我有一个条件为column不为NULL的列。如何添加验证测试参数对不起,我不知道你的意思。这与什么有关?但是,如果您的意思是想在WHERE子句中添加一个附加的
和任何空的条件,那么就这样做。您无需更改过程的签名即可完成此操作。如果我在第3列中添加了新参数,则在select命令“如何编写”中“列不为空,带第三个参数。我有一个列,条件是列不为空。如何添加验证测试参数对不起,我不知道你的意思。这与什么有关?但是,如果您的意思是想在WHERE子句中添加一个附加的和任何空的条件,那么就这样做。您无需更改过程的签名即可完成此操作。如果我添加了新参数“第3列”,则在select命令“如何写入”中,第3个参数的列不为空