我在此代码中想要添加一些插入的值,将它们求和并插入特定的列中。但是一个错误之后我得到一个错误。我认为这是最后一个,但我不知道。好人帮我吗?添加了带有更多信息的屏幕截图。
我的代码:
DECLARE
BEGIN
INSERT INTO thuiswerk_declaratie (MNR, WNR, UREN_GEWERKT, TOTAAL_BEDRAG)
VALUES (:P8_MNR,
:P8_WNR,
:P8_TOTAAL_AANTAL_UREN (:P8_MAANDAG_UREN +
:P8_DINSDAG_UREN +
:P8_WOENSDAG_UREN +
:P8_DONDERDAG_UREN +
:P8_VRIJDAG_UREN),
:P8_TOTAAL_BEDRAG (:P8_TOTAAL_AANTAL_UREN * 0.2)
);
END;
什么是“:P8_TOTAAL_AANTAL_UREN”和“:P8_TOTAAL_BEDRAG”?它们是顶点中的绑定变量,因此它们包含一个字符串(而不是函数名称)。但是,查看您的代码,似乎您正在尝试在绑定变量中引用一个函数,这将使您看到该错误。这很可能只是语法错误,您可以尝试一下:
DECLARE
BEGIN
INSERT INTO thuiswerk_declaratie (MNR, WNR, UREN_GEWERKT, TOTAAL_BEDRAG)
VALUES (:P8_MNR,
:P8_WNR,
:P8_MAANDAG_UREN + :P8_DINSDAG_UREN + :P8_WOENSDAG_UREN + :P8_DONDERDAG_UREN + :P8_VRIJDAG_UREN,
:P8_TOTAAL_AANTAL_UREN * 0.2
);
END;
如果确实需要功能,则可以执行以下操作之一:请注意,这些是更复杂的解决方案。
选项1:
您正在使用顶点。解决此问题的最佳做法是创建一个计算,该计算将为UREN_GEWERKT列计算页面项目,为TOTAAL_BEDRAG列计算另一个页面项目。您的pl / sql块将是:
DECLARE
BEGIN
INSERT INTO thuiswerk_declaratie (MNR, WNR, UREN_GEWERKT, TOTAAL_BEDRAG)
VALUES (:P8_MNR,
:P8_WNR,
:P8_TOTAAL_AANTAL_UREN,
:P8_TOTAAL_BEDRAG
);
END;
在这种情况下,您还可以使用内置表单区域为您完成所有操作。
选项2:
假设您有(1)个pl / sql函数total_hours,其返回与thuiswerk_declaratie.UREN_GEWERKT相同的数据类型的值,并接受5个参数(每周1天,以及(2)另一个函数total_amount,其返回相同数据类型的值作为thuiswerk_declaratie。TOTAAL_BEDRAG并接受1个参数,您可以将pl / sql块编写为:
DECLARE
BEGIN
INSERT INTO thuiswerk_declaratie (MNR, WNR, UREN_GEWERKT, TOTAAL_BEDRAG)
VALUES (:P8_MNR,
:P8_WNR,
total_hours (:P8_MAANDAG_UREN +
:P8_DINSDAG_UREN +
:P8_WOENSDAG_UREN +
:P8_DONDERDAG_UREN +
:P8_VRIJDAG_UREN),
total_amount (:P8_TOTAAL_AANTAL_UREN * 0.2)
);
END;
本文收集自互联网,转载请注明来源。
如有侵权,请联系[email protected] 删除。
我来说两句