--写一个吧,作为范例,第二题自己写 CREATE OR REPLACE PROCEDURE p_get_emp(i_deptno NUMBER) IS BEGIN FOR c IN (SELECT empno FROM (SELECT empno FROM emp t WHERE t.deptno = i_deptno ORDER BY hiredate) WHERE rownum < 3) LOOP dbms_output.put_line('empno=' || c.empno); END LOOP; END; /
非常感谢大侠!! create or replace procedure getEmpno(v_empno number) as v_name varchar2(20); cursor v_e is select * from emp where empno=v_empno order by hiredate; begin open v_e; fetch v_e into v_name; dbms_output.put_line(v_name); fetch v_e into v_name; dbms_output.put_line(v_name); close v_e; end; /create or replace procedure getEmpno2(v_empno number) as v_count number; v_deptno number; begin select deptno into v_deptno from emp where empno=v_empno; select count(*) into v_count from emp where deptno=v_deptno; if v_count=1 then delete from emp where empno=v_empno; delete from dept where deptno=v_deptno; else delete from emp where emppno=v_empno; end if; end; /
CREATE OR REPLACE PROCEDURE p_get_emp(i_deptno NUMBER) IS
BEGIN
FOR c IN (SELECT empno
FROM (SELECT empno
FROM emp t
WHERE t.deptno = i_deptno
ORDER BY hiredate)
WHERE rownum < 3) LOOP
dbms_output.put_line('empno=' || c.empno);
END LOOP;
END;
/
非常感谢大侠!!
create or replace procedure getEmpno(v_empno number)
as
v_name varchar2(20);
cursor v_e is select * from emp where empno=v_empno order by hiredate;
begin
open v_e;
fetch v_e into v_name;
dbms_output.put_line(v_name);
fetch v_e into v_name;
dbms_output.put_line(v_name);
close v_e;
end;
/create or replace procedure getEmpno2(v_empno number)
as
v_count number;
v_deptno number;
begin
select deptno into v_deptno from emp where empno=v_empno;
select count(*) into v_count from emp where deptno=v_deptno;
if v_count=1 then
delete from emp where empno=v_empno;
delete from dept where deptno=v_deptno;
else
delete from emp where emppno=v_empno;
end if;
end;
/