Oracle/PL/SQL/Into
Apariencia
Para realizar consultas puntuales que devuelven un único registro, se utiliza INTO a continuación de SELECT.
- Si la consulta no devuelve ningún registro, se produce la excepción NO_DATA_FOUND.
- Si la consulta devuelve más de un registro, se produce la excepción TOO_MANY_ROWS.
Ejemplo con declaración de columnas por separado y uso de %TYPE
declare
v_col1 tabla.col1%type;
v_col2 tabla.col2%type;
v_col3 tabla.col3%type;
begin
v_col3 := 7;
select col1, col2
into v_col1, v_col2
from table
where col3 = v_col3;
exception
when NO_DATA_FOUND then
...
when TOO_MANY_ROWS then
...
end;
Ejemplo con declaración de registro y uso de %ROWTYPE
declare
v_reg tabla%rowtype;
v_col3 tabla.col3%type;
begin
v_col3 := 7;
select *
into v_reg
from tabla
where col3 = v_col3;
exception
when NO_DATA_FOUND then
...
when TOO_MANY_ROWS then
...
end;