Explicit cursors are those user defined cursors in order to retrive more than one row from a table. Select into statment helps in invoking parmeters into the formal parameters.
The select statement can return multiple rows as a query result. If you want to process single row at a time then you can define an explicit cursor for this select statement.
Cursor is like a temporary area where you can process fetch the records and process then individually as required
select into statement- select value1 value2... into var1 var2......
When a cursor name is explicitly assigned to a SELECT statement through CURSOR statement it is called an explicit cursor. Explicit cursors are generally used to work with more than one row within PL/SQL. It has got the following attributes: 1. Defining the Cursor 2. Opening the Cursor 3. Fetching rows(values) from Cursor (one at a time) 4. Closing the Cursor
SELECT into statement allows you to retrives the query result in user defined variables. But the limitation here is that the query must return a single row. Its a best practice to handle NO_DATA_FOUND and TOO_MANY_ROWS exception when dealing with "SELECT INTO" statement.