2016-03-22 10 views
0

Oracle PL/SQL konusunda yeniyim. “Görünüm oluşturma, kloba dayalı grup oluşturma” konusunda sorum var.Oracle PL/SQL. Grup tarafından bilgi clob veriler

TABLE1 = ÇALIŞAN

EMP_ID : NUMBER 
EMP_NAME : VARCHAR2(255 BYTE) 
AGE  : NUMBER 

Tablo2 = EMPLOYEE_WORK

EMP_ID : NUMBER 
DEPT_NO : NUMBER 
WORK_DONE: CLOB 

Numune GÖRÜNÜM Sorgu:

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; 

Sadece DEPT_NO'ya göre grup çalışması yapmak istiyorum. Oracle bu desteği desteklemediği için. Tüm sütunları GROUP BY altında VIEW içinde vermek zorunda kaldı. Ben clob'u VARCHAR'a açıkça dönüştürmek ve grubu çalışarak gerçekleştirmek istemiyorum çünkü clob'un boyutunun ne olacağını bilmiyorum ve GROUP BY listesinde bulunmasının bir sebebi yok.

Bunu gerçekleştirmenin bir yolu var mı? Şimdiden teşekkürler.

+1

Sonuçlar ne olurdu? – sagi

+1

"GROUP BY" derken gerçekten "DISTINCT" demek istiyor musunuz? – Boneist

+0

Plz ayrıntılı sonuç ne istersiniz. GRUP BY –

cevap

-1

Sagi ve Avraji'nin ne sorduğunu, "Ne yapmak istersin?" Ve, Kemikçi'nin ne dediğini genişleterek, görüşünüz esasen ayrı bir şey yapar.

Genel olarak, bir grupla, sayma gibi toplu bir şey yapıyorsunuz demektir. Web araması "Oracle group by."

CLOB'un uzunluğunu bilmeniz gerekmediği halde, muhtemelen sadece sonlu sayıda karakterle sipariş verebilirsiniz. Dbms_lob.substr gibi dbms_lob.substr (w.WORK_DONE, 100, 1) gibi işlevler için DBMS_LOB'yi arayın.

+0

Bu bir cevap değil - bir dizi tahmin ve bir yorum olmalı. OP'nin soruya açıklık getirmesi gerekiyor. Soruya cevap verene kadar beklemenizi öneririm * cevaplanabilir *. –

+0

Yeterli puan alana kadar yorum yapamam. Altho sizin konumunuz geçerli olabilir, posterin ne yapmak istediğini bilemiyor ve bir sonraki adıma geçmek için yardıma ihtiyacı olabilir. Buna yardım etmeyi umuyordum. – JustinKaisse