PL/SQL 游标

emp、dept 目标表结构及数据

要求

  • 基于部门表建立游标dept_cursor1,使用记录变量接收游标数据,输出部门表信息;
    显示格式:
    部 门 号: XXX
    部门名称: XXX
    所在位置: XXX

  • 基于部门表建立游标dept_cursor2,使用标量变量接收游标数据,输出部门表信息;
    显示格式:部门号:XXX 部门名称:XXX 所在位置:XXX

  • 基于雇员表建立游标emp_cursor,根据用户输入的部门号,输出该部门薪水在5000元上的雇员姓名、薪水.
    显示格式:雇员姓名:XXX 薪水:XXX

1.基于部门表建立游标dept_cursor1,使用记录变量接收游标数据,输出部门表信息;
显示格式:
部 门 号: XXX
部门名称: XXX
所在位置: XXX

declare
  cursor dept_cursor1 is
  select dno,dname,loc from dept;

  dept_record dept%rowtype;

begin
  open dept_cursor1;
  loop
       fetch dept_cursor1 into dept_record;

       exit when dept_cursor1%notfound or dept_cursor1%rowcount > 3;
       dbms_output.put_line('部门号:'||dept_record.dno);
       dbms_output.put_line('部门名称:'||dept_record.dname);
       dbms_output.put_line('所在位置:'||dept_record.loc);

  end loop;
  close dept_cursor1;
end;
       

2.基于部门表建立游标dept_cursor2,使用标量变量接收游标数据,输出部门表信息;
显示格式:部门号:XXX 部门名称:XXX 所在位置:XXX

declare
  cursor dept_cursor2 is
  select dno,dname,loc from dept;
  v_deptno dept.dno%type;
  v_deptname dept.dname%type;
  v_deptloc dept.loc%type;

begin
  open dept_cursor2;
  loop
       fetch dept_cursor2 into v_deptno,v_deptname,v_deptloc;

       exit when dept_cursor2%notfound or dept_cursor2%rowcount > 3;
       dbms_output.put_line('部门号:'||v_deptno||',部门名称:'||v_deptname||',所在地:'||v_deptloc);

  end loop;
  close dept_cursor2;
end;
       

3.基于雇员表建立游标emp_cursor,根据用户输入的部门号,输出该部门薪水在5000元上的雇员姓名、薪水.
显示格式:雇员姓名:XXX 薪水:XXX

declare
  cursor emp_cursor is
  select ename,sal from  emp where dno = &dno;
  v_ename emp.ename%type;
  v_sal emp.sal%type;

begin  

 open emp_cursor;
    loop
       fetch emp_cursor into v_ename,v_sal;
       exit when emp_cursor%notfound;
       if v_sal > 5000
       then
         dbms_output.put_line('雇员姓名:'||v_ename||',薪水:'||v_sal);
       end if;
   end loop;
  close emp_cursor;

end;
  

PL/SQL 游标 (实验七)的更多相关文章

  1. PL/SQL 游标

    本随笔不是原创,只是学习笔记,用于加深记忆,原创地址PL/SQL --> 游标 一.游标的相关概念和特性 1.定义: 映射到结果集中的某一行的特定位置,类似与C语言中的指针.即通过游标方式定位到 ...

  2. 6 关于 Oracle NULL栏位和PL./SQL执行实验

    今日有针对NULL值有了相关实验. 对NULL 值插入的讨论. 1, PL/SQL 中可以执行插入''或者NULL 的操作, 前提是栏位允许为空. 2, 可以对NULL进行一系列数据库运算. 如:   ...

  3. Oracle数据库之PL/SQL游标

    1. 游标概念 字面意思是游动的光标,是指向上下文区域的句柄或指针. 在PL/SQL块中执行CRUD操作时,ORACLE会在内存中为其分配上下文区.用数据库语言来描述游标就是:映射在上下文区结果集中一 ...

  4. Oracle PL/SQL 游标

    在PL/SQL块中执行SELECT.INSERT.DELETE和UPDATE语句时,ORACLE会在内存中为其分配上下文区(Context Area),即缓冲区.游标是指向该区的一个指针,或是命名一个 ...

  5. PL/SQL 游标的使用

     游标的使用 ①游标概念 为了处理SQL 语句,ORACLE 必须分配一片叫上下文( context area )的区域来处理所必需的信息, 当中包含要处理的行的数目.一个指向语句被分析以后的表示 ...

  6. PL/SQL游标详解

    刚打开游标的时候,是位于一个空行,要用fetch into 才能到第一行. 只是要注意用更新游标的时候,不能在游标期间commit. 否则会报ORA-01002: fetch out of seque ...

  7. C#(在WeBAPI)获取Oracle(在PL/SQL)游标类型的存储过程(用到了RefCursor)

    需求:WebAPI服务端,通过Oracle数据库的存储过程,获取数据. 在PL/SQL 建立存储过程:(先来最简单的,就是把整个表都查出来) create or replace procedure S ...

  8. Oracle PL/SQL游标

    游标的提出: SQL是面向集合的,其结果一般是集合量(多条记录),而PL/SQL的变量一本是标量,其一组变量异常一直只能存放一条记录.所以仅仅使用变量并不能完全满足SQL语句向应用程序输出数据的要求. ...

  9. pl/sql游标

    通过游标,我们可以取得返回结果集的任何一行记录,提高效率. 定义游标: type 游标名 is ref cursor 变量名 游标名 打开游标: open 游标变量 for select语句: 取出当 ...

随机推荐

  1. 前端笔记----jquery入门知识点总结

    一.jquery的加载方法 $(document).ready(function(){js代码}); $(function(){js代码});(一般使用这个); 注意点1:使用jquery必须先导入函 ...

  2. 张高兴的 Windows 10 IoT 开发笔记:红外温度传感器 MLX90614

    GitHub : https://github.com/ZhangGaoxing/windows-iot-demo/tree/master/MLX90614

  3. linux 下查找图片文件方法

    通常是通过文件后缀名查找图片文件,如果没有文件后缀的图片或者伪造的图片文件,则这种判定方法将达不到要求.我们可以根据读取文件头进行图片文件类型的判定. 比较流行的图片文件类型有:jpg png bmp ...

  4. JavaScript之“创意时钟”项目

    “时钟展示项目”说明文档(文档尾部附有相应代码) 一.最终效果展示: 二.项目亮点 1.代码结构清晰明了 2.可以实时动态显示当前时间与当前日期 3.界面简洁.美观.大方 4.提高浏览器兼容性 三.知 ...

  5. socket__服务端于客户端

    #!/usr/bin/env python # -*- coding: utf-8 -*- # @Time : 2017/8/23 15:33 # @Author : Mr_zhang # @Site ...

  6. .NET下发送邮件遇到问题及解决方案

    .NET后台代码利用QQ邮箱服务器发送邮件遇到的问题: "mail from address must be same as authorization user" 首先,看下我的 ...

  7. MySql sql按时间分组

    select DATE_FORMAT(f.upload_time,'%Y%u') weeks,count(*),sum(p.download_times),sum(p.collection_times ...

  8. vb.net 代码建立控件,并显示在窗体上

    Dim lb As New Label        lb.Text = "hello"        lb.Top = 200        lb.Left = 100      ...

  9. mybatis 参数为list时,校验list是否为空

    校验objStatusList 是否为空 <if test="objStatusList != null and objStatusList.size() > 0 "& ...

  10. java中matches的用法

    在java中,时常会用到查看一个字符串是否是数字,这时就可以用到matches()函数. 具体实例如下: public boolean string_matches(String amatch) { ...