【问题标题】:how to get salary grade with salary range in forms?如何在表格中获得工资范围的工资等级?
【发布时间】:2019-08-02 18:13:14
【问题描述】:

我正在使用 Scott 模式的 oracle 表单工作,我想创建另一个块以根据员工表中的每个员工工资和工资等级表中的工资范围查看每个员工的等级我该怎么做?

【问题讨论】:

  • 最简单的方法是在数据库中创建一个执行 SQL 麻烦的视图,然后在表单中针对该视图构建块。
  • 我试过但没有工作 外观创建或替换视图 v_grade 为 Select salgrade.grade, salgrade.losal, salgrade.hisal, emp.sal,EMP.ENAME,EMP.EMPNO,EMP.COMM,EMP .DEPTNO from EMP, salgrade 其中 emp.sal 在 salgrade.losal 和 salgrade.hisal 之间;
  • 什么不起作用?您无法创建视图还是返回错误的值;
  • 我正在尝试创建函数以在表单中获取它
  • 这也是可能的,但不太容易。您需要将 where 语句放入 salgrade 块的 WHERE 子句中,并使用 EMP 块中当前记录中的 empsal。

标签: oracle oracle11g oracle10g oracleforms


【解决方案1】:

您可以使用Data Block Wizardempsalgrade 表创建两个Data Blocks [那些(empsalgrade)也可以作为块名称保留]。

将此字符串:emp.sal between losal and hisal 添加到salgrade 块的WHERE Clause 中。

然后使用以下代码在块级别为emp 创建一个WHEN-NEW-ITEM-INSTANCE 触发器:

go_block('salgrade');
execute_query;
go_block('emp');

每当在emp 块中执行查询时,都会为salgrade 块同步执行一个查询,从而使成绩范围与empsalary 列匹配。

【讨论】:

    猜你喜欢
    • 2017-11-13
    • 1970-01-01
    • 1970-01-01
    • 2016-06-27
    • 2022-11-14
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    相关资源
    最近更新 更多