Limiting results and using a dynamic column name??
I did a search on this forum and found an excellent answer on how to limit results from an oracle query, but is it possible to build the results using a dynamic column in the ORDER BY section?
Code:
CREATE OR REPLACE PACKAGE misPkg AS
TYPE return_cur IS REF CURSOR;
PROCEDURE getFldrsLim2(p_offset IN NUMBER,
p_limit IN NUMBER,
p_order IN VARCHAR,
p_fldr_cur IN OUT return_cur);
END misPkg;
/
CREATE OR REPLACE PACKAGE BODY misPkg AS
PROCEDURE getFldrsLim2(p_offset IN NUMBER,
p_limit IN NUMBER,
p_order IN VARCHAR,
p_fldr_cur IN OUT return_cur) IS
BEGIN
OPEN p_fldr_cur FOR
SELECT *
FROM (SELECT ROWNUM AS rn,
t1.fldr_id,
t1.fldr_name
FROM inf_cat_fldrs t1
-- p_order isn't working
-- if I use a 'real' column hardcoded it works
ORDER BY p_order)
WHERE rn BETWEEN p_offset
AND p_limit;
END getFldrsLim2;
END misPkg;
Is there a way to pass a column name in and have the ORDER BY use that as a valid column name?
For example, I display a webpage with muliple columns, I can allow the user to click different column headings to return results sorted by a different column....
Any help is appreciated!
Cheers,
Keith.