`

14.定义并使用变量-参照变量

阅读更多

参照变量---介绍
参照变量是指用于存放数值指针的变量,通过使用参照变量,可以使得应用程序共享相同对象,从而降低占用的空间。在编写pl/sql程序时,可以使用游标变量(ref cursor)和对象类型变量(ref obj_type)两种参照变量类型

使用比较多的是游标变量

参照变量---ref cursor游标变量
使用游标时,当定义游标时不需要指定相应得select语句,但是当使用游标时(open时)需要指定select语句,这样一个游标就与一个select语句结合了,实例如下:

1.请使用pl/sql编写一个块,可以输入部门号,并显示该部门所有员工姓名和他的工资。

      --输入部门号,并显示该部门所有员工姓名和他的工资。
      declare
      --定义游标类型 sun_emp_cursor
      type sun_emp_cursor is ref cursor;
      --定义一个游标变量
      sun_cursor sun_emp_cursor;
      --定义一个接收姓名的变量
      v_ename emp.ename%type;
      --定义一个接受工资的变量
      v_sal emp.sal%type;
      begin
        --执行
        --把sun_cursor和一个select结合
        open sun_cursor for select ename,sal from emp where deptno=&no;
        --循环取出
        loop
          fetch sun_cursor into v_ename,v_sal;
          --判断退出循环的条件:判断sun_cursor是否为空
          exit when sun_cursor%notfound;
          dbms_output.put_line('员工名:'||v_ename||' 薪水:'||v_sal);
          end loop;
          --循环结束,关闭游标
          close sun_cursor;
          end;

2.在1的基础上,如果某个员工的工资低于2000元,就增加100元。

--输入部门号,并显示该部门所有员工姓名和他的工资。
      declare
      --定义游标类型 sun_emp_cursor
      type sun_emp_cursor is ref cursor;
      --定义一个游标变量
      sun_cursor sun_emp_cursor;
      --定义一个接收姓名的变量
      v_ename emp.ename%type;
      --定义一个接受工资的变量
      v_sal emp.sal%type;
      begin
        --执行
        --把sun_cursor和一个select结合
        open sun_cursor for select ename,sal from emp where deptno=&no;
        --循环取出
        loop
          fetch sun_cursor into v_ename,v_sal;
          --判断退出循环的条件:判断sun_cursor是否为空
          exit when sun_cursor%notfound;
          if(v_sal<2000)
          then v_sal:=v_sal+100;
          end if;
          dbms_output.put_line('员工名:'||v_ename||' 薪水:'||v_sal);
          end loop;
          --循环结束,关闭游标
          close sun_cursor;
          end;

分享到:
评论

相关推荐

    APS_BlueSky_tools-0.0.28-py2-none-any.whl.zip

    标题中的“APS_BlueSky_tools-0.0.28-py2-none-any.whl.zip”表明这是一个名为“APS_BlueSky_tools”的软件工具包,版本号为0.0.28,专为...用户可以通过pip轻松安装,并参照“使用说明.txt”来理解和使用这个工具。

    Python库 | smok-0.6b2-py2.py3-none-any.whl

    标题中的"Python库 | smok-0.6b2-py2.py3-none-any.whl"指的是一个Python软件包,名为“smok”,版本为0.6b2。这个包以.whl格式提供,它是Python的 Wheel ...具体的使用场景和库功能需参照库的文档或源代码进行了解。

    初学者入门CAD快捷键.doc

    48. SETTVAR: 设置变量 - 修改系统变量的值。 49. LA: 图层 - 管理图层,包括颜色、线型、线宽等。 50. COLOR: 颜色 - 更改对象的颜色。 51. LT: 线型管理 - 管理线型,包括加载、设置等。 52. LW: 线宽管理 - 设置...

    定义并使用变量,复合类型

    定义变量时,可以使用`not null`关键字确保变量值不为空,并通过`:=`或`default`关键字设置初始值。 在PL/SQL中,赋值操作使用`:=`,与许多其他编程语言中的`=`不同。例如,我们可以声明一个变量`v_tax_rate`来存储...

    Autocad系统变量大全

    Autocad 系统变量大全是 Autocad 软件中的一组预定义的变量,用于控制绘图环境、绘图设置、用户界面和其他相关设置。这些变量可以被用户修改以满足特定的绘图需求。本文档将对 Autocad 系统变量大全进行详细的介绍。...

    comsol内置参数变量函数[参照].pdf

    COMSOL 内置参数变量函数是指 COMSOL 软件中预定义的一些数学常数、物理常数和变量,这些常数和变量可以在 COMSOL 中的模型和仿真中使用。 数学常数包括: * 机器精度 eps:表示计算机浮点数的精度,约等于 2.2204...

    org.eclipse.jface.text_3.8.100.v20130515-1957.jar

    但是在使用过程中问题又来了,这样的提示太智能,比如我只是想定义一个Button btnClick,但是自动提示总是会在后面帮你追加Button以便标示,最后变成了btnClickButton,但是我的本意只是想输入btnClick,这样的提示...

    2021-2022计算机二级等级考试试题及答案No.2538.docx

    - 不同函数中可以使用相同名字的变量。 - 函数可以没有返回值,但可以定义返回值类型为`void`的函数。 - 函数不能嵌套定义。 - 程序是由一系列函数组成的。 7. SQL查询准则: - 在SQL中,使用`NOT`操作符可以...

    计算机VF考试题库二级题库.pdf

    11. 定义全局变量: - 使用PUBLIC命令。 12. 索引的特性: - 创建索引不会改变数据的物理顺序,主要目的是提高查找和排序效率。 13. 唯一索引: - 一个字段值不允许重复,且一个表中只能创建一个的索引是主...

    文华财经指标公式源码最准的买卖指标公式源码.doc

    1. 指标X_1-X_3:定义了三个变量,分别是55、34和昨日收盘价的参照。 2. 指标X_4:计算了相对强弱指标(RSI),以判定股票的强弱趋势。RSI的计算公式为:SMA(MAX(CLOSE-X_3,0),3,1)/SMA(ABS(CLOSE-X_3),3,1)*100。 ...

    2021最新产品需求模板系列-软件开发文档要求.docx

    - **定义**: 收集用户使用产品的反馈报告。 - **内容**: 包括使用目的、使用时间、实施过程等。 - **作用**: 了解用户的真实使用体验,不断优化产品。 **11. 销售培训** - **定义**: 对销售人员进行产品知识培训的...

    vc编码规范.pdf

    - **基本原则**:为了UNICODE的移植性,所有字符串在定义时都使用_T(“…”),定义字段串变量时,一律使用带T的类型,在使用字符串处理的函数时,优先使用支持UNICODE函数。 - **目的**:提高字符串处理的兼容性和...

    java 环境变量的详细设置

    - 参照上述“环境变量”的设置方法,在“系统变量”中找到名为`Path`的环境变量并编辑。 - 在变量值末尾添加`; %JAVA_HOME%\bin`。 - **Linux/Unix系统:** - 在`.bashrc`或`~/.profile`文件中添加行`export PATH...

    2021-2022计算机二级等级考试试题及答案No.2448.docx

    本文主要涉及了计算机二级等级考试的相关知识点,包括ADO.NET数据访问、C#编程、SQL查询、数据库管理、软件设计原则、计算机历史、操作系统、编程模型以及办公软件的使用。 1. ADO.NET数据访问程序的开发流程: ...

    《主干课2-数据库应用系统设计》南开20秋考试答案.docx

    - 外模式是用户可以看到和使用的数据的逻辑表示,通常是模式的一个子集,可有多个。 15. SQL HAVING子句: - 用于筛选分组后的满足条件的行。 16. 物理独立性: - 通过外模式/模式映射,使数据库具有物理独立性...

    2021-2022计算机二级等级考试试题及答案No.11386.docx

    局部变量在方法中定义并在方法执行时创建,使用前需要初始化。 #### 22. 数据库自动增长字段 - **知识点**: 自动增长字段是数据库设计中的一种常见特性。 - **题目描述**: “设有客户表customers(id,name,tel)......

    C++编码规范.pdf

    - 使用预处理器指令防止头文件的多重包含,例如使用#ifndef来定义头文件保护。 2. C++命名习惯: - 避免使用全局变量和函数。 - 使用驼峰命名法(camelCase)或下划线分隔命名法(snake_case)。 - 类型和变量...

    2021-2022计算机二级等级考试试题及答案No.1131.docx

    定义需求并建立系统模型:这通常是在需求分析阶段完成的,不属于设计阶段。 - **结论**:在软件设计阶段,主要任务包括数据结构设计、系统模块结构定义以及模块算法定义。 ### 8. Iterator接口的使用 - **选项...

    apache-cxf-2.2.10安装包和如何配置到环境变量

    在本文中,我们将详细介绍如何安装和配置Apache CXF 2.2.10,并将其添加到系统的环境变量中。 首先,了解Apache CXF的基本概念至关重要。它是一个用于创建Web服务的工具,支持多种协议和标准,如SOAP、RESTful HTTP...

    计算机软件专业必备英语词汇.pdf

    71. **Parameter** - 参数:函数或方法中定义行为的变量。 72. **Then** - 那么:在编程中常用于逻辑判断后的结果。 73. **Variable** - 变量:其值可以在程序运行期间改变的量。 74. **Tab** - 制表键:在文本编辑...

Global site tag (gtag.js) - Google Analytics