Ich versuche, eine LISTAGG in iSQL zu einer Orakel DB verbinden.isql Fehler konnte sqlExecute auf Listag nicht
Die folgende Abfrage läuft gut und gibt 106 Ergebnisse zurück.
SELECT DISTINCT owner FROM dba_segments WHERE owner NOT IN ('SYS', 'SYSTEM', 'EXFSYS', 'DBSNMP', 'SQLTXPLAIN', 'XDB', 'WMSYS', 'PERFSTAT', 'OUTLN');
Versuch, dann LISTAGG ich folgende Fehler:
Methode 1:
SELECT LISTAGG(DISTINCT owner, ', ') WITHIN GROUP (ORDER BY owner) FROM dba_segments WHERE owner NOT IN ('SYS', 'SYSTEM', 'EXFSYS', 'DBSNMP', 'SQLTXPLAIN', 'XDB', 'WMSYS', 'PERFSTAT', 'OUTLN');
Rückkehr:
[ISQL]ERROR: Could not SQLExecute
Methode 2:
SELECT LISTAGG(owner, ', ') WITHIN GROUP (ORDER BY owner) FROM (SELECT DISTINCT owner FROM dba_segments WHERE owner NOT IN ('SYS', 'SYSTEM', 'EXFSYS', 'DBSNMP', 'SQLTXPLAIN', 'XDB', 'WMSYS', 'PERFSTAT', 'OUTLN'));
kehrt:
LISTAGG(OWNER,',')WITHINGROUP(ORDERBYOWNER)
Do Funktionen wie LISTAGG
sogar arbeiten von iSQL eine ODBC-Verbindung zu Oracle verwendet.
bearbeiten - Ich fand das folgende sieht aus wie es ist nicht erlaubt? Allowed Functions
Oracle Database Gateway for ODBC assumes that ODBC driver provider that is being used supports the following minimum set of SQL functions:
AVG(exp)
LIKE(exp)
COUNT(*)
MAX(exp)
MIN(exp)
NOT