为了账号安全,请及时绑定邮箱和手机立即绑定

Oracle使用emp表,输入:部门号,利用游标返回该部门所有的员工姓名

Oracle使用emp表,输入:部门号,利用游标返回该部门所有的员工姓名

qq_尹修兵_03324118 2016-05-13 19:57:37
查看完整描述

3 回答

?
慕丝2536941

TA贡献7条经验 获得超1个赞

是要遍历所有部门,然后按不同部门分别返回该部门的员工姓名对吗?如果是这样的,可对部门进行游标处理。如下:

---------// 定义部门

-----------//  假设部门表名称为 Depart

declare @TmpDeprtNo  varchar(100)

------------------、、 定义游标

declare cur_DepartNo cursor for select DeprtNo from Depart 

fetch next from cur_DepartNo into @TmpDepartNo  

while (@@fetch_status = 0 )

begin

      select EName from  EMP where DeptNo = @TmpDeptNo

     ------------------// 查找下一员工姓名

     fetch next from cur_DepartNo into @TmpDepartNo  

end 

close cur_DepartNo 

deallocate cur_DepartNo 


查看完整回答
反对 回复 2016-05-15
?
qq_尹修兵_03324118

TA贡献1条经验 获得超0个赞

 SELECT EMPNO, ENAME, JOB, MGR, HIREDATE, SAL, COMM, DEPTNO FROM EMP 这个是表的所有信息  要根据他的DEPTNO查询该部门对应的员工姓名

查看完整回答
反对 回复 2016-05-14
?
慕丝2536941

TA贡献7条经验 获得超1个赞

---------// 定义当前员工姓名

-----------// 假设员工 姓名字段 Name  , 部门代号字段DepNo , 传入的部门号 @Depno

declare @TmpName  varchar(100)

------------------、、 定义游标

declare cur_Name cursor for select Name from emp where Depno=@Depno

fetch next from cur_Name into @TmpName 

while (@@fetch_status = 0 )

begin

      return @TmpName 

     ------------------// 查找下一员工姓名

     fetch next from cur_Name into @TmpName

end 

close cur_Name

deallocate cur_Name



查看完整回答
反对 回复 2016-05-14
  • qq_尹修兵_03324118
    qq_尹修兵_03324118
    试了没效果, 我是要手动输入一个部门编号得到该部门所有人的姓名, SELECT EMPNO, ENAME, JOB, MGR, HIREDATE, SAL, COMM, DEPTNO FROM EMP 这个是表的所有信息 要根据他的DEPTNO查询该部门对应的员工姓名
  • 3 回答
  • 0 关注
  • 3197 浏览
慕课专栏
更多

添加回答

举报

0/150
提交
取消
意见反馈 帮助中心 APP下载
官方微信