Warning: file_get_contents(/data/phpspider/zhask/data//catemap/1/oracle/10.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Oracle 如何以表格的形式获取薪资范围的薪资等级?_Oracle_Oracle11g_Oracle10g_Oracleforms - Fatal编程技术网

Oracle 如何以表格的形式获取薪资范围的薪资等级?

Oracle 如何以表格的形式获取薪资范围的薪资等级?,oracle,oracle11g,oracle10g,oracleforms,Oracle,Oracle11g,Oracle10g,Oracleforms,我正在使用schema Scott在oracle表单中工作,我想创建另一个块,根据员工表中的每个员工工资和工资等级表中的工资范围查看每个员工的等级。我该怎么做?您可以为emp和salgrade表创建两个数据块数据块向导[那些(emp和salgrade)也可以保留为块名] 将losal和hisal之间的字符串:emp.sal添加到salgrade块的WHERE子句中 然后在块级别为emp创建WHEN-NEW-ITEM-INSTANCE触发器,代码如下: go_block('salgrade');

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

您可以为
emp
salgrade
表创建两个
数据块
数据块向导
[那些(
emp
salgrade
)也可以保留为块名]

将losal和hisal之间的字符串
:emp.sal
添加到salgrade块的
WHERE子句中

然后在块级别为
emp
创建
WHEN-NEW-ITEM-INSTANCE
触发器,代码如下:

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

每当在
emp
块中执行查询时,同步执行
salgrade
块的查询,该查询带来与
emp

salary
列匹配的等级范围。最简单的方法是在数据库中创建一个视图,该视图执行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。