两则PL/SQL编程的小经验,随手记下。
一、对游标参数使用like查询
定义一个游标
cursor cEmploye(cpName varchar2) is
select emp_no from employe where name=cpName;
如果要使用like查询怎么办?简单:
cursor cEmploye(cpName varchar2) is
select emp_no from employe where name like cpName||'%';
二、简化提取游标数据
还是定义一个游标
cursor cEmploye(cpName varchar2) is
select name,sal,dept_name,level,... from employe , dept
where employe.dept_no = dept.dept_no and name=cpName;
怎么提取数据?
最笨的:
emp_name varchar2(12);
emp_sal number(8,2);
dept_name varchar2(24);
....
open cEmploye('罗纳尔多');
fetch cEmploye into emp_name, emp_sal,dept_name......;
聪明的方法:
rEmploye cEmploye%rowtype;
....
fetch cEmploye into rEmploye;
如果在for循环中使用:
for rEmploye in cEmploye('贝克汉姆') loop
.....
end loop;
此时变量rEmploye不需要提前声明
rEmploye cEmploye%rowtype;
这个可以省略掉。