In addition to above details to this error/exception:ORA-01422: exact fetch returns more than requested number of rows
By default, a SELECT INTO statement must return only one row. Otherwise, PL/SQL raises the predefined exception TOO_MANY_ROWS and the values of the variables in the INTO clause are undefined. Make sure your WHERE clause is specific enough to only match one row
If no rows are returned, PL/SQL raises NO_DATA_FOUND. You can guard against this exception by selecting the result of an aggregate function, such as COUNT or AVG(), where practical. These functions are guaranteed to return a single value, even if no rows match the condition.