I have a course:
Cursor Pessoa is
Select nomeFuncionario
From empresa;
-- Variaveis para uso da rotina
variavel
How would the variable be?
I have a course:
Cursor Pessoa is
Select nomeFuncionario
From empresa;
-- Variaveis para uso da rotina
variavel
How would the variable be?
In order to use the variable in any part of the code, even outside a loop, or even as a filter of another cursor, you can declare a variable using %rowtype
, as an example:
declare
--
cursor c_pessoa is
Select nomeFuncionario
From empresa;
--
-- Variaveis para uso da rotina
var_pessoa c_pessoa%rowtype;
--
-- Cursor que utiliza o valor atual de var_pessoa como filtro
cursor c_outro_cursor is
select alguma_coluna
from outra_tabela
where nomeFuncionario = var_pessoa.nomeFuncionario;
--
var_alguma_coluna outra_tabela.alguma_coluna%type;
--
begin
--
open c_pessoa;
loop
--
fetch c_pessoa into var_pessoa;
exit when c_pessoa%notfound;
--
dbms_output.put_line('O nome da pessoa é: '|| var_pessoa.nomeFuncionario);
--
open c_outro_cursor;
fetch c_outro_cursor into var_alguma_coluna;
close c_outro_cursor;
--
end loop;
close c_pessoa;
--
end;
I use this syntax, following example.
BEGIN
FOR RCLIENTES IN (SELECT * FROM CLIENTES)
LOOP
DBMS_OUTPUT.PUTLINE(RCLEINTES.NOME);
END LOOP;
END;
Great answers. I was able to run the functionality with this code:
DECLARE
--Declaracao do curso
Cursor c_fun is
Select nome
From TFUNCIONARIO;
--Declaraão da variavel
nfun c_fun%rowtype;
BEGIN
-- Abrir o sistema
OPEN c_fun;
FETCH c_fun INTO nfun;
CLOSE c_fun;
-- exibir dados do funcionario
dbms_output.put_line(nfun.nome);
END;