我在使用pl / sql定义的动态操作设置顶点项目(P13_3)的值时遇到问题。此时,使用按钮触发动态操作。例如,如果在项目(P13_3)中输入“530000000019”,则在单击按钮后,它应返回一个值(产品代码)并使用该值设置项目。
这是单击按钮时运行的pl / sql代码:
DECLARE
p_code products.prod_code%TYPE;
p_id products.prod_id%TYPE;
BEGIN
p_id := :P13_2;
SELECT prod_code INTO p_code FROM products WHERE prod_id = p_id;
RETURN p_code;
END;
这是出现的错误:
Ajax调用返回服务器错误ORA-01403:找不到设置值的数据。
这意味着在运行SELECT INTO子句时没有返回任何数据。然后,我更改了代码并运行此代码以查看代码中是否存在任何错误:
DECLARE
p_code products.prod_code%TYPE;
p_id products.prod_id%TYPE;
BEGIN
p_id := 530000000019;
SELECT prod_code INTO p_code FROM products WHERE prod_id = p_id;
RETURN p_code;
END;
此代码返回一个值,设置值动态操作成功。因此,这意味着,在顶点中没有获得P13_3项中的值。
我有一个顶级进程,它具有类似于调用P13_3 apex项的语法,并且运行成功。以下是顶点过程的代码:
DECLARE
b_code products.prod_id%TYPE := :P13_3;
p_quant products.prod_qnty%TYPE := :P13_2;
BEGIN
UPDATE products
SET prod_qnty = prod_qnty - p_quant
WHERE prod_id = b_code;
END;
如果我没有弄错,我会说这证明了问题在于动态操作而不是pl / sql代码。我目前正在使用apex 5.1(12月16日发布)。请帮忙。提前谢谢你:)