Este es un caso donde no funciona:
Código:
SQL> select * from t1;
ID
----------
1
2
SQL>
1 declare
2 id number(8):=1;
3 begin
4 select count(id) into id from t1 where id = id;
5 dbms_output.put_line(to_char(id));
6* end;
2
PL/SQL procedure successfully completed.
El
into id funciona bien, pero el
where id=id se resuelve como campo id = campo id y no como campo id = variable id, por lo tanto nunca deberías declarar las variables con el mismo nombre que los campos.
Saludos