是否有可能在基于实体的视图对象中产生一个瞬态属性,导致查询,其选择列表中包含以下内容:
ROW_NUMBER() OVER (
PARTITION BY A, B
ORDER BY C
) AS AttrName
答案 0 :(得分:1)
不确定是否正确理解了问题,但据我所知 - 您需要在某个特定的VIEW定义中使用Oracle分析函数。那是对的吗? 这很好用(emp是用不同的oracle模式提供的标准表。在我的例子中我使用了Apex模式,据我记得它也存在于SCOTT模式中):
create or replace view emp_serialized as
SELECT empno, deptno, hiredate,
ROW_NUMBER( ) OVER (PARTITION BY
deptno ORDER BY hiredate
NULLS LAST) SRLNO
FROM emp
WHERE deptno IN (10, 20)
ORDER BY deptno, SRLNO;
select * from EMP_SERIALIZED;
这是输出:
view EMP_SERIALIZED created.
EMPNO DEPTNO HIREDATE SRLNO
---------- ---------- --------- ----------
7782 10 09-JUN-81 1
7839 10 17-NOV-81 2
7934 10 23-JAN-82 3
7369 20 17-DEC-80 1
7566 20 02-APR-81 2
7902 20 03-DEC-81 3
7788 20 09-DEC-82 4
7876 20 12-JAN-83 5
8 rows selected
如果我没有正确理解您的问题 - 请重新说明或尝试详细解释..