表一:职员
SQL> select * from zhiyuan;
PERSONID PERSO DEPTID
---------- ----- ----------
101 zhang 1
102 wang 2
103 hang 3
104 fang 4
表二:考勤
SQL> select * from kaoqin;
SON PERSONID CIO CDATE CTIME
---------- ---------- ---- -------------- ----------
1 101 I 10-7月 -12 840
2 101 O 10-7月 -12 1740
3 102 I 10-7月 -12 940
4 102 O 10-7月 -12 1840
5 103 I 10-7月 -12 740
6 103 O 10-7月 -12 1340
7 104 I 10-7月 -12 540
8 104 O 10-7月 -12 1240
创建存储过程
SQL> create or replace procedure k_p
2 is
3 v_name zhiyuan.personname%type;
4 v_id zhiyuan.personid%type;
---------------------声明变量
5 cursor c1 is select zhiyuan.personid,zhiyuan.personname from zhiyuan,kaoqin
6 where kaoqin.personid=zhiyuan.personid and kaoqin.cio='I' AND ctime > 0830;
---------------------创建游标
7 begin
8 open c1;---------------开启游标
9 loop
10 fetch c1 into v_id,v_name;-----------------赋值
11 exit when c1%notfound;
12 dbms_output.put_line(v_id||':'||v_name);
13 end loop;
14 close c1;
15 end;
16 /
过程已创建。
SQL> exec k_p;
101:zhang
102:wang
PL/SQL 过程已成功完成。
来自 “ ITPUB博客 ” ,链接:https://blog.itpub.net/26585184/viewspace-735071/
,如需转载,请注明出处,否则将追究法律责任。