Whenever you have a question, please post a compelte test script that the people who want to help you can run to re-create the problem and test their ideas. If you can't show what the problem is using commonly available tables (such as those in the scott schema), then include CREATE TABLE and INSERT statements for your own tables.
No matter where the input data comes from, post the output you want from that data.
Always say which version of Oracle you're using (e.g. 22.214.171.124.0).
See the forum FAQ: https://forums.oracle.com/message/9362002
Do you really need to use PL/SQL? If so, explain why.
Oteherwise, just run your query
where no = 100;
in SQL*Plus, or any other front end.
If you really, really must do this in PL/SQL, here's a simple way:
FOR d IN (
WHERE deptno > 10
dbms_output.put_line (d.dname); -- or whatever you need to do
The cursor d is defined in the FOR statement itself; you don't need a separate declaration. In fact, if you do have a separate declaration, it will create a separate cursor, which will not be used in the FOR ... LOOP.
This will be much slower than simply using SQL.