2016-12-22 14 views
1

auf der Berichtsseite meiner Oracle APEX Anwendung zu ändern, wird der Bericht Quelle von SQL definiert mitOracle APEX Verwendung Schaltfläche Bericht Quelle SQL

SELECT VALUE1, VALUE2, VALUE3 ... FROM TABLE1 

Wenn der Benutzer auf eine Schaltfläche klickt, zum Beispiel Taste ‚Sort ', Ich möchte hinzufügen, JOIN, WHERE und ORDER BY-Klauseln zum Bericht Quelle sql.

Der neue Bericht Quelle nach dem Click-Ereignis Taste sollte dies

SELECT VALUE1, VALUE2, VALUE3 ... FROM TABLE1 
JOIN TABLE2 WHERE ID='123' ORDER BY VALUE2 ASC 

Wie erreichen Sie?

+1

Warum brauchen Sie getrennt Schaltfläche zum Filtern, Sortieren? Dies kann durch den dynamischen Bericht selbst erreicht werden. – learningloop

+0

Dies ist Teil unserer Aufgabe. Wir müssen eine separate Sortierung oder Filterung implementieren, z. B. nach nächstem Abstand sortieren, die standardmäßig nicht im dynamischen Bericht enthalten ist. – Andrew

Antwort

1

Wenn Sie nur die Filterung, Sortierung, sichtbare Spaltenliste usw. ändern müssen, verwenden Sie die Funktion Interaktiver Bericht. Wenn Sie wirklich Abfrage wollen "PL/SQL-Funktion zurückkehrend SQL Query", wie der Bericht Implementierungstyp wählen Text ändern und einige Code

DECLARE 
    l_col_list VARCHAR2(4000); 
    l_join  VARCHAR2(4000); 
    l_where  VARCHAR2(4000); 
BEGIN 
    l_col_List := ....; 
    l_join := ....; 
    l_where := ....; 
    RETURN 'SELECT ' || l_col_list || ' FROM ' || l_join || ' WHERE ' || l_where; 
END; 

enter image description here

Beispielseite erstellen: apex.oracle.com/pls/apex/f?p=54028:5

+0

Hallo und danke für deine Antwort. Wie kann die Quelle sql zur Laufzeit durch einen Klick auf eine dynamische Aktion geändert werden? – Andrew

+0

Sie können versteckte Elemente verwenden, um Werte für select_list, Join und Wo zu speichern. Ändern Sie es bei Klick auf die Schaltfläche und reichen Sie die Seite erneut ein. – hinotf

+0

Könntest du bitte etwas über die Verwendung versteckter Objekte erklären, da ich bei Apex ziemlich neu bin. Zum Beispiel sollten beim Laden der Berichtsseite standardmäßig alle Werte angezeigt werden, die ich für jede Datenzeile aus der Datentabelle verstehe. Wenn der Benutzer auf eine benutzerdefinierte Sortierschaltfläche klickt, sagen Sie "Nach nächstem Abstand sortieren", aktiviert er den Join und wo und zeigt ihn in der Reihenfolge an. – Andrew

Verwandte Themen