oracle利用游标实现接收用户输入的部门编号,打印出此部门的所有雇员的姓名、工资和入职时间

在线求助。

创建存储过程
create or replace procedure p_dept(p_deptno in number)
is
cursor cur_emp is select ename,sal,hiredate from emp where deptno=p_deptno;
begin
for x in cur_emp loop
dbms_output.put_line('ename :'||x.ename||', sal :'||x.sal||', hiredate :'||x.hiredate);
end loop;
end;
/


SQL> set serveroutput on

SQL> exec p_dept(20); 
ename :SMITH, sal :800, hiredate :17-DEC-80
ename :JONES, sal :2975, hiredate :02-APR-81
ename :SCOTT, sal :3000, hiredate :19-APR-87
ename :ADAMS, sal :1100, hiredate :23-MAY-87
ename :FORD, sal :3000, hiredate :03-DEC-81

PL/SQL procedure successfully completed.

温馨提示:内容为网友见解,仅供参考
无其他回答

如何用ORACLE游标输出一下结果
sal from tmp union all select deptno, dname, null, null, null, sal from tr)select deptno, dname, empno, ename, job, nvl2(empno,null,dname||'部门的平均工资为'||sal) from res order by deptno, dname, empno nulls last ...

编写一个PL\/SQL块,输出所有员工的员工名、员工号、工资和部门号
1、首先打开SQL Server,点击顶部的新建查询按钮,如下图所示。2、然后在SQL编辑界面利用row_number来输出1到100的数字,如下图所示。3、运行以后可以看到输出了1到100的数字,如下图所示。4、这个方法中用的表是spt_values是系统表,如下图所示。5、另外还可以用with as语句进行输出,如下图所示,...

...根据部门输出员工编号,员工姓名, 工资,职务,工龄就可以。
declare cursor c1 is select deptno,dname from dept;--这个游标保存的是部门编号和部门名称 cursor c2(no number) is select ename from emp where deptno=no;--这个是带有部门编号的参数游标,保存的是同一部门下面所有的员工姓名 begin for d1 in c1 loop --d1:是for循环自带的特点:允许用...

Oracle数据库中,使用fetch语句提取游标数据,fetch语句怎么理解呀...
v_deptno emp.deptno%type; --部门编号变量 cursor c_emp(dno number) is select empno,ename,sal from emp where deptno=v_deptno;r_emp c_emp%rowtype; --游标行 begin v_deptno:='&部门编号'; --输入参数值 Open c_emp(v_deptno);--传递参数 Loop ...

在oracle里如何实现下面的要求?
empno_tab(cnt));dbms_output.put_line('社员姓名:' || ename_tab(cnt));dbms_output.put_line('社员工资:' || sal_tab(cnt));dbms_output.put_line('***');end loop;end;以前写的呢 功能实现 其他的字段自己填补一下 就可以搞定了 ...

oracle简单编程问题,在线等 急急急!大大悬赏
--参数deptid为要加薪的部门号,参数add_level为加薪倍数。--如果指定的部门不存在员工,该过程不作任何动作,否则按照倍数更新雇员工资。create or replace procedure update_sal(deptid emp.deptno%type,--部门号 add_level number--加薪倍数 )as v_num number;begin select count(*) into v_num ...

相似回答