游标

来源:互联网 发布:pubmed数据库主题词 编辑:程序博客网 时间:2024/04/27 14:28

--游标
declare
type emp is RECORD(
v_sal employees.salary%type,
v_id employees.employee_id%type,
v_name employees.last_name%type);
v_emp emp;
cursor cursor_emp_sal is select salary,employee_id,last_name from employees where department_id=80;
begin
open cursor_emp_sal;
fetch cursor_emp_sal into v_emp;
while cursor_emp_sal%found loop 
dbms_output.put_line(v_emp.v_id||'的'||v_emp.v_sal|| v_emp.v_name);
fetch cursor_emp_sal into v_emp;


end loop;
close cursor_emp_sal;
end;
set serveroutput on;


declare


v_emp employees%rowtype;
cursor cursor_emp_sal is select * from employees where department_id=80;
begin
open cursor_emp_sal;
fetch cursor_emp_sal into v_emp;
while cursor_emp_sal%found loop 
dbms_output.put_line(v_emp.employee_id||'的'||v_emp.salary|| v_emp.last_name);
fetch cursor_emp_sal into v_emp;
end loop;
close cursor_emp_sal;
end;
--使用游标的for循环,可以省略打开,提取,关闭游标
declare
cursor cursor_emp_sal is select salary,employee_id,last_name from employees where department_id=80;
begin 
for c in cursor_emp_sal loop
dbms_output.put_line('工资'||c.salary||'id'||c.employee_id);
end loop;
end;

--隐式游标
begin 
update employees1 set salary=salary+10 where employee_id=100;
if sql%notfound then 
dbms_output.put_line('查无此人');
end if;
end;

0 0
原创粉丝点击