yo,
SQL kennt keine Arrays.
war auch nie die rede davon, aber das array kommt von aussen. muss natürlich vorher entsprechend angepasst werden.
Die Pseudo-Tabelle dual gibt es (immer noch) nicht.
muss ich mir mal merken, bin so an das überflüssige dual gewöhnt, nennt man wohl konditionierung.
Zusatzfrage: Wie unterscheidet Oracle einen Vergleich (=) von einer Zuweisung (ebenfalls =) und einen Variablennamen von einem Spaltennamen?
in pl/sql und in sqlplus mit dem ":=". und wenn ich deine zweite frage angeht, so wird die variable in sqlplus mit einem : aufgeführt, wenn ich mich nicht ganz täusche.
Da nun ein Union folgt, muss dieses SELECT-Statement mit dem ORDER BY drin geklammert werden, ansonsten darf das ORDER BY nur am Ende stehen und wirkt auf die unionisierte Ergebnismenge.
ja die soll auch am ende hin, die sortierung betrifft den gesamten union.
SUBSTR() arbeitet unter MySQL mit einem String als erstem Argument und einer Positionsangabe als zweitem Argument, plus einem optionalen dritten Argument für eine Längenangabe.
ich bin überarbeitet, klassisches bespiel an etwas gedacht und was anderes gesagt. die parameter stimmen schon, nur die variable is REPLACE. und in der zweiten anweisung ist es auch ein einzelener string.
SELECT @v_ausgabe := '1,4,4568' Ausgabe, 1 Sortierung
UNION ALL
SELECT @v_ausgabe := REPLACE(@v_ausgabe, a.nr, ''), 2
FROM artikel a
WHERE a.nr IN ('1,4,4568'))
ORDER BY 2
Ilja