2011-04-06 37 views
8

Burada neler olup bittiğinden emin değilim, çünkü bu işlevi hiç kullanmadım, ancak Oracle 11g veritabanımızdaki listagg işlevini kullandığımda bana bir ORA-00923 FROM anahtar sözcüğü vermez beklendiği yerde.ORACLE SQL listagg işlevi

İşte bu kırılma neden bir ipucu yok benim SQL

SELECT cdm.courses_id,cde.additional_resources, listagg (dm.delivery_method_desc, ',') 
WITHIN GROUP (ORDER BY dm.delivery_method_desc) delivery_methods 
FROM tablespace.course_de_delivery_methods cdm, 
     tablespace.course_distance_ed cde, 
     tablespace.delivery_methods dm 
WHERE cdm.courses_id = cde.courses_id 
AND cdm.delivery_methods_id = dm.delivery_methods_id 
GROUP BY cdm.courses_id 

bu. Şu örneği takip ediyordum: here.

+0

Bana iyi görünüyor. Db'nin 11g olduğuna emin misin? “Banner'ı v $ sürümden seç” ile kontrol edebilirsiniz; –

cevap

17

11.1 veya 11.2 kullanıyor musunuz? LISTAGG 11.2'de tanıtıldı, 11.1'de mevcut değildi.

SQL ifadeniz 11.2'de geçerli görünüyor. Fakat 11.1'de bir hata elde edersiniz ve ORA-00923 11.1'de makul bir hata gibi görünür.

+0

Conrad'ın yorumlarda bahsettiği sorguyu çalıştırdım ve 11.1 değil 11.2 olarak çalışıyoruz. Teşekkürler adam, zaman sınırı dolduğunda, bunu cevap olarak işaretleyeceğim. – Micharch54

+0

+1 Bunun 11.2 tek şey olduğunu anlamadım. 11.1 olsaydım çalışmam gerektiğini düşünürdüm. –

+0

Bu hata 11.2'de de geliyor. 'Oracle Database 11g Enterprise Edition Yayın 11.2.0.3.0 - 64bit Üretim PL/SQL Yayın 11.2.0.3.0 - Üretim CORE 11.2.0.3.0 Üretim Solaris için TNS: Sürüm 11.2.0.3.0 - Üretim NLSRTL Sürüm 11.2.0.3.0 - Üretim ' – cyborg007

İlgili konular