selecione * do stuinfo; --Cursor implícito início dbms_output.put_line('Antes-consulta:'|| sql%rowcount); Atualizar o conjunto Stuinfo Stusex = 'feminino'; dbms_output.put_line('Após a consulta:'|| sql%rowcount); fim;
--cursor explícito --1. Comum declarar cursor mycur1 é select * de stuinfo; --definir cursores --v_id stuinfo.stuid%type; --v_name stuinfo.stuname%type; --v_sex stuinfo.stusex%type; --v_bir stuinfo.stubir%type; v_row stuinfo%rowtype; início abra o mycur1; --Cursor aberto Loop --buscar mycur1 em v_id,v_name,v_sex,v_bir; --Mova o cursor para baixo para colocar o valor de leitura na variável buscar mycur1 para v_row; --Ler cursor sair quando mycur1%notfound; --dbms_output.put_line('id:'|| v_id||', nome: '|| v_name||', gênero: '|| v_sex||' Aniversário: '|| v_bir); --Resultado de saída dbms_output.put_line('id:'|| v_row.stuid||', nome: '|| v_row.stuname||', gênero: '|| v_row.stusex||' Aniversário: '|| v_row.stubir); laço final; Fechar o MyCur1; --Desligue o cursor fim;
--2. Versificador com parâmetros declarar cursor mycur1(v_sex stuinfo.stusex%type) é select * de stuinfo onde stusex = v_sex; --definir cursores v_row stuinfo%rowtype; início abra mycur1('&gênero'); --Cursor aberto Loop buscar mycur1 para v_row; --Ler cursor sair quando mycur1%notfound; dbms_output.put_line('id:'|| v_row.stuid||', nome: '|| v_row.stuname||', gênero: '|| v_row.stusex||' Aniversário: '|| v_row.stubir); laço final; Fechar o MyCur1; --Desligue o cursor fim;
--3. Cursor circular declarar cursor mycur1 é select * de stuinfo; --definir cursores início para v_row no mycur1 Loop dbms_output.put_line('id:'|| v_row.stuid||', nome: '|| v_row.stuname||', gênero: '|| v_row.stusex||' Aniversário: '|| v_row.stubir); laço final; fim;
--4. Atualize os dados com o cursor declarar cursor mycur1 é select * do stuinfo para atualização; --definir cursores início para v_row no mycur1 Loop se v_row.stuid = '003' então Exclua do stuinfo onde está atualizado o mycur1; senão Atualizar o conjunto StuInfo Stusex = 'masculino' onde corrente é MyCur1; fim se; laço final; fim;
selecione * do stuinfo; Atualizar Stuinfo Define Stusex = 'Feminino' onde Stuid = '002';
--cursor de referência --1. Tipo fraco declarar Tipo curname é cursor de referência; --definam um tipo de cursor (curname é o nome do tipo) curname mycur1; -- v_sex stuinfo.stusex%type; v_row stuinfo%rowtype; v_row2 subinfo%rowtype; início v_sex := '& gênero'; se v_sex = 'masculino' então abra mycur1 para selecionar * do stuinfo onde stusex = 'masculino'; Loop buscar mycur1 para v_row; --Ler cursor sair quando mycur1%notfound; dbms_output.put_line('id:'|| v_row.stuid||', nome: '|| v_row.stuname||', gênero: '|| v_row.stusex||' Aniversário: '|| v_row.stubir); laço final; senão abra mycur1 para selecionar * a partir de subinfo; Loop buscar o MyCur1 para v_row2; --Ler cursor sair quando mycur1%notfound; laço final; fim se; Fechar o MyCur1; --Desligue o cursor fim; selecione * de subinfo;
--Tipo forte declarar Tipo curname é cursor ref return stuinfo%rowtype; curname mycur1; v_sex stuinfo.stusex%type; v_row stuinfo%rowtype; início v_sex := '& gênero'; se v_sex = 'masculino' então abra mycur1 para selecionar * do stuinfo onde stusex = 'masculino'; senão abra o MyCur1 para selecionar * do StuInfo onde Stusex = 'Feminino'; fim se;
Loop buscar mycur1 para v_row; --Ler cursor sair quando mycur1%notfound; dbms_output.put_line('id:'|| v_row.stuid||', nome: '|| v_row.stuname||', gênero: '|| v_row.stusex||' Aniversário: '|| v_row.stubir); laço final; Fechar o MyCur1; --Desligue o cursor fim;
|