Guten Tag
Ich soll gerade eine Oracle SP, die die Felder einer Tabellezurückliefert, soweit verbessern, dass das zurückgeliferte Resultset so sortiert ist wie auf der Datenbank. Problem dabei ist, ich habe die SP nicht geschrieben und habe auch nicht wirkliche Ahnung davon...
Grundsätzlich nehme ich stark an, dass die Reihenfolge durch die Joins durcheinandergebracht wird.
Wäre nett wenn mir jemand ein paar Ratschläge dazu geben könnte.
Ich soll gerade eine Oracle SP, die die Felder einer Tabellezurückliefert, soweit verbessern, dass das zurückgeliferte Resultset so sortiert ist wie auf der Datenbank. Problem dabei ist, ich habe die SP nicht geschrieben und habe auch nicht wirkliche Ahnung davon...
Grundsätzlich nehme ich stark an, dass die Reihenfolge durch die Joins durcheinandergebracht wird.
Code:
Procedure get_fields (Inowner IN VARCHAR,Intable IN VARCHAR,io_cursor IN OUT ida_cursor) IS v_cursor ida_cursor; BEGIN OPEN v_cursor FOR SELECT zeilen.COLUMN_NAME, zeilen.DATA_TYPE, zeilen.DATA_LENGTH, com.COMMENTS, const.CONSTRAINT_TYPE FROM (ALL_TAB_COLUMNS zeilen LEFT JOIN (ALL_CONS_COLUMNS match JOIN ALL_CONSTRAINTS const ON match.CONSTRAINT_NAME = const.CONSTRAINT_NAME AND const.TABLE_NAME = match.TABLE_NAME AND const.OWNER = match.OWNER AND const.CONSTRAINT_TYPE = 'P' ) ON zeilen.COLUMN_NAME = match.COLUMN_NAME ANd zeilen.TABLE_NAME = match.TABLE_NAME AND zeilen.OWNER = match.OWNER ) JOIN ALL_COL_COMMENTS com ON com.COLUMN_NAME = zeilen.COLUMN_NAME AND com.OWNER = zeilen.OWNER AND com.TABLE_NAME = zeilen.TABLE_NAME WHERE zeilen.TABLE_NAME = Intable AND zeilen.OWNER = Inowner; io_cursor := v_cursor; END get_fields;
Comment