我有一个DM Form
类型的页面,我想在其中显示和更新不同表格中的值。默认情况下,当我创建页面时,我被要求提供数据源,仅指定其中一个表,实际上在After Header
类型Automated Row Fetch
中创建了进程。同样在After Submit
中,创建了类型为Automatic Row Processing (DML)
的进程。当我从不同的表中添加页面中的项目时,显然我收到的错误是该表中找不到该列。如何在该页面中添加更多表格,以便正确获取和更新它们?
所有表格中都有一个共同的列,用于标识我希望从每个表格中显示哪条记录。
答案 0 :(得分:0)
我想显示和更新来自不同表格的值
[...]
所有表格中都有一个共同的列,用于标识我希望从每个表格中显示哪条记录。
也许你在各种桌子上寻找一个简单的JOIN
?
根据Oracle's HR example schema,如果您需要同时显示部门和员工姓名,您可以将之类的内容写为作为报告查询:
SELECT department_name as dep_name,
first_name || ' ' || last_name as emp_name
FROM HR.DEPARTMENTS JOIN HR.EMPLOYEES
USING(DEPARTMENT_ID)
为了使其可以从APEX表单构建器中使用,您必须将其包装在VIEW
中:
CREATE VIEWS MY_VIEW AS SELECT .... FROM ... JOIN ...
我无法保证视图可以像Oracle has very specific rules for inherently updatable views一样立即更新 - 尤其是join views。但是,您可以使用INSTEAD OF
trigger使视图可更新。如果您决定采用这种方式,可能值得考虑在需要时就该特定主题提出其他问题。