2016-03-31 15 views
1

SQL Developer'ta bir SQL deyiminde wmsys.wm_concat kullanıyorum ve gayet iyi çalışıyor. Ama şimdi veritabanında çalışan her kullanıcı için wmsys işlevlerinin mevcut olup olmadığını merak ediyorum. Her kullanıcı wmsys işlevlerini çağırır mı?
Yani kodu başka birine verirsem wmsys.wm_concat komutunu çalıştırırken sorun mu olacak?wmsys user/schema

Teşekkürler.

+0

wm_concat bir belgesiz fonksiyonudur, bu yüzden bundan kaçınır daha iyi olurdu yoktur; 12c'de bulunmadığını düşünün; Hangi Oracle sürümündesiniz? – Aleksej

+0

11g, ama o zaman sorunumun başka bir çözümünü arayacağım. 6 aydan daha iyi. Teşekkürler. –

+1

** ** Belgelenmemiş bir özellik ** olduğu için ** WM_CONCAT özelliğini kullanmayın ve ** en son ** 12c sürümünden ** kaldırılmıştır **. Wm_concat işlevine bel bağlayan herhangi bir uygulama, "12c" ye yükseltildikten sonra çalışmayacaktır. [** Neden Oracle'da WM_CONCAT işlevini kullanmıyorsunuz? **] (https://lalitkumarb.wordpress.com/2015/04/29/why-not-use-wm_concat-function-in-oracle/) –

cevap

4

Oracle 11gR2'de, dizeleri toplamak için LISTAGG'u kullanabilirsiniz.

WMSYS.WM_CONCAT, tüm Oracle kuruluşlarında bulunmayan belgesiz bir özelliktir (ve not available at all in Oracle 12c).

+0

Neredeyse her zaman kendi Oracle blogumu unuttum, bir şekilde bulduğunuzu görmek güzel +1 –

+0

Çok teşekkür ederim. LISTAGG iyi çalışıyor! Son bir soru, LISTAGG sadece Oracle sürüm 11g ve daha yeni mi? –

+0

@ThomasKoch Evet, 'LISTAGG' ** Oracle 11gR2 ** ile tanıtıldı. Daha önceki bir sürümdeyseniz, bkz. Http://stackoverflow.com/a/32525152/3989608 –

0

bir karar User defined aggregares

Eğer wmsys gelen belgesiz işlevleri olmadan agrega ve birleştirme kullanmak Bu yaklaşım izni

İlgili konular