No doubt it is the first block in pl/sql but it is not mandatory. So If user need some variable in its program then he/she should be declare it before use in later.
Apr 7, 2014
The declare is optional. You will use it when you have a need store or hold a value for later use within the block
The DECLARE statement is used in PL/SQL anonymous blocks such as with stand alone, non-stored PL/SQL procedures. It must come first in a PL/SQL stand alone file if it is used.