Ok, say I have a query:
SELECT * FROM TABLE_AWESOME WHERE YEAR = :AMAZINGYEAR;
Which works very nicely. But say I want to be able to return either just those results or all results based on a drop down. (e.g., the drop down would have 2008, 2009, ALL YEARS)
I decided to tackle said problem with PL/SQL with the following format:
DECLARE
the_year VARCHAR(20) := &AMAZINGYEAR;
BEGIN
IF the_year = 'ALL' THEN
SELECT * FROM TABLE_AWESOME;
ELSE
SELECT * FROM TABLE_AWESOME WHERE YEAR = the_year;
END IF;
END;
Unfortunately, this fails. I get errors like “an INTO clause is expected in this SELECT statement”.
I’m completely new to PL/SQL so I think I’m just expecting too much of it. I have looked over the documentation but haven’t found any reason why this wouldn’t work the way I have it. The query I’m actually using is much much more complicated than this but I want to keep this simple so I’ll get answer quickly.
Thanks in advance 🙂
You could do it with one query, something like:
and pass it the argument twice.