PL / SQL动态操作[设置值]无法识别顶点项值

时间:2017-01-03 23:40:52

标签: oracle dynamic plsql oracle-apex oracle-apex-5

我在使用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日发布)。请帮忙。提前谢谢你:)

1 个答案:

答案 0 :(得分:0)

我尝试过类似的工作,我创建了两个文本框,一个用于输入和输入。另一个输出&我得到了预期的结果。请检查以下屏幕截图结果&动态动作设置 enter image description here 动态动作设置如下: enter image description here True动作的编辑视图如下: enter image description here 希望这会对你有所帮助。