我是Oracle PL / SQL的新手。我有关于“创建视图,基于clob分组”的问题。
TABLE1 =员工
EMP_ID : NUMBER
EMP_NAME : VARCHAR2(255 BYTE)
AGE : NUMBER
TABLE2 = EMPLOYEE_WORK
EMP_ID : NUMBER
DEPT_NO : NUMBER
WORK_DONE: CLOB
示例查看查询:
CREATE OR REPLACE view EMP_DETAILS
as
select E.EMP_ID,
E.EMP_NAME,
W.DEPT_NO,
W.WORKDONE
from EMPLOYEE E,
EMPLOYEE_WORK W
where E.EMP_ID=W.EMP_ID
group by E.EMP_ID, E.EMP_NAME, W.DEPT_NO, W.WORKDONE;
我想仅根据DEPT_NO执行分组。因为oracle不支持。我必须在GROUP BY下的VIEW中提供所有列。我不想显式地将clob转换为VARCHAR并按操作执行分组,因为我不知道clob的大小是多少,并且没有理由将它存在于GROUP BY列表中。
有没有办法执行此操作?提前致谢。
答案 0 :(得分:-1)
回应sagi和Avraji所问的问题,“你想做什么?”并且,扩展了Boneist所说的内容,你的观点本质上是截然不同的。
通常,对于group by,您正在进行聚合,例如计数。网络搜索“Oracle group by。”
即使你不一定知道CLOB的长度,你可能只会按有限数量的字符排序。 Web搜索DBMS_LOB用于dbms_lob.substr等函数,例如dbms_lob.substr(w.WORK_DONE,100,1),可以满足您的需求。