【问题标题】:Setting the value of a form field from a Query从查询中设置表单字段的值
【发布时间】:2011-07-08 08:52:04
【问题描述】:

我有一个表单字段,其中一个值具有在应用程序设置表中定义的默认值。用户将在显示创建表单时看到默认值,但如果他们愿意,可以在保存新行之前将其更改为另一个值。

我在默认字段中没有看到任何方式来指定默认值是 SQL 查询的结果(例如,从 app_defaults where row_key = 1 中选择 default_rate)。

这肯定是可能的,但如何?

【问题讨论】:

    标签: oracle oracle-apex


    【解决方案1】:

    您可以使用 PL/SQL 块中的 SQL 查询直接分配它,例如

    SELECT default_rate
    INTO :myblock.rate
    FROM app_defaults
    WHERE row_key = 1;
    

    【讨论】:

    • 我使用以下方法让它工作(其中默认值类型为PL/SQL Function Body): DECLARE default_value number(9,2); BEGIN SELECT deflt_rate INTO default_value FROM app_defaults WHERE row_key = 1; RETURN default_value; END;
    【解决方案2】:

    正如上面 Jeffrey 所说,最终解决方案可以完全在 APEX 内完成,但在页面项上使用 Default Value Type = PL/SQL Function Body。

    DECLARE default_value number(9,2); 
    BEGIN 
    SELECT deflt_rate INTO default_value FROM app_defaults WHERE row_key = 1; 
    RETURN default_value; 
    END;
    

    【讨论】:

    • Jeffrey Kemp 给出了正确答案。但是对于您的回答,我认为有一点改进(尚未测试):DECLARE app_defaults.deflt_rate%type;
    猜你喜欢
    • 2023-03-12
    • 1970-01-01
    • 1970-01-01
    • 2012-04-12
    • 2021-10-30
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    相关资源
    最近更新 更多