`
guiqing85
  • 浏览: 168832 次
  • 性别: Icon_minigender_1
  • 来自: 广州
社区版块
存档分类
最新评论

PL/SQL学习笔记-变量作用域及数据类型深入(二)

阅读更多
一:变量作用域
DECLARE
current_block VARCHAR2(10) := 'Outer';
outer_block VARCHAR2(10) := 'Outer';
BEGIN
dbms_output.put_line('[current_block]['||current_block||']');
  DECLARE
  current_block VARCHAR2(10) := 'Inner';
  BEGIN
  dbms_output.put_line('[current_block]['||current_block||']');
  dbms_output.put_line('[outer_block]['||outer_block||']');
  END;
dbms_output.put_line('[current_block]['||current_block||']');
END;
以上为引用一本书的代码(Oracle Database 11g PL/SQL程序设计)
输出为
[current_block][Outer]
[current_block][Inner]
[outer_block][Outer]
[current_block][Outer]
这是两个嵌套的程序块
我们在子程序块中重定义了父程序块的变量
这个变量在子程序块执行完之后又恢复了父程序块中定义的值

二:%type    取一个已知变量的数据类型
declare mytitle labor.xland.title%type;
begin
select title into mytitle from labor.xland where state = 0;
dbms_output.put_line(mytitle);
end;
上面例子中取了表title列的数据类型(varchar2)
然后检索了一行一列数据,把这个数据赋值给我们定义的变量mytitle
当然你也可以定义多个变量
如:
select title,id into mytitle,myid from labor.xland where state = 0; 


三:%rowtype   取一个已知行的数据类型,这应该是一个对象类型
declare 
  myrow labor.xland%rowtype;
begin
select * into myrow from labor.xland where state = 0;
dbms_output.put_line(myrow.title);
dbms_output.put_line(to_char(myrow.state));
end;


上例中我们取了某个表的rowtype,并定义了变量myrow
接着把这个表的一行数据赋值给了这个变量
输出的时候只要以点来获取这一行的某个列即可

四:record   这应该也是一个对象
declare
  type myrecordtype is record
  (
       mytitle labor.xland.title%type,
       mystate labor.xland.state%type
  );
  myrecord myrecordtype;
begin
select title, state into myrecord from labor.xland;
dbms_output.put_line(myrecord.mytitle);
dbms_output.put_line(to_char(myrecord.mystate));
end;


如上代码
我们先定义了一种数据类型(type)
这种类型包含两个属性,分别是mytitle和mystate
然后我们定义了一个变量myrecord
这个变量的类型就是我们刚才定义的数据类型
接着我们把两个数据赋值给类这个变量的两个属性
这里的赋值顺序是按属性定义的先后顺序给属性赋值的
然后输出

至此,数据类型仍未讲完
还有table(表),array(数组),exception(异常),cursor(游标)等类型等没讲
异常和游标将在后面的文章提到


分享到:
评论

相关推荐

    Oracle PL/SQL专家指南-高级PL/SQL解决方案的设计与开发

    《Oracle PL/SQL专家指南-高级PL/SQL解决方案的设计与开发》是一本深入探讨Oracle数据库中的PL/SQL编程的专业书籍。PL/SQL是Oracle数据库特有的编程语言,它结合了SQL的查询能力与过程式编程语言的功能,使得数据库...

    最容易上手的PL/SQL学习教程-有经过测试的丰富案例

    我们学习了PL/SQL的变量类型,包括基本类型(如NUMBER、VARCHAR2等)、复合类型(如记录类型、数组类型)、%ROWTYPE(用于创建与表列结构对应的变量)以及LOB(Large Object)类型,后者用于存储大量非结构化数据,...

    pl/sql学习笔记

    以下是对PL/SQL的学习笔记的详细解析: 1. **什么是PL/SQL语言** PL/SQL是Oracle数据库为数据库管理员和开发人员设计的一种编程语言。它扩展了SQL的功能,允许编写包含控制结构、变量、过程和函数的程序段,这些...

    PL/SQL学习笔记

    在PL/SQL中,数据类型分为标量类型、复合类型、参考类型和LOB类型。标量类型包括数字类型、字符类型、日期类型和布尔类型等。复合类型包括记录类型和集合类型,其中集合类型又包括数组和表。参考类型是记录的引用,...

    Oracle PL/SQL实例精讲--使用表,课后答案

    Oracle PL/SQL是一种强大的数据库编程语言,用于在Oracle数据库中执行复杂的业务逻辑和数据操作。在"Oracle PL/SQL实例精讲--使用表,课后答案"中,读者可以深入理解如何有效地使用PL/SQL与Oracle数据库中的表格进行...

    pl/sql 学习资料

    - 数据类型:熟悉PL/SQL内置的数据类型,如NUMBER、VARCHAR2、DATE等。 - 变量和常量:声明和使用变量,以及定义常量。 - 控制流程语句:学习IF-THEN-ELSIF-ELSE、CASE、FOR循环、WHILE循环等。 - 函数和过程:...

    PL/SQL学习教程,附笔记

    PL/SQL提供了多种变量类型,包括: - **简单类型**:如NUMBER、VARCHAR2、DATE等,用于存储基本数据类型。 - **复合类型**:如数组、记录(%ROWTYPE),允许存储多个值或整个数据库行。 - **%ROWTYPE**:使用%...

    oracle10g_pl/sql

    - **变量和常量**:PL/SQL支持各种数据类型,如NUMBER、VARCHAR2、DATE等,以及声明变量和常量的方式。 - **流程控制**:包括IF...ELSIF...ELSE、CASE、FOR循环、WHILE循环等结构。 2. **PL/SQL程序单元** - **...

    Oracle PL/SQL程序设计(第5版)(上下册)

    - **集合与记录**:学习如何使用PL/SQL中的集合和记录类型,这些结构可以帮助更高效地处理数据集。 - **游标**:介绍游标的使用方法,包括隐式游标和显式游标,以及如何利用游标遍历查询结果。 #### 四、PL/SQL中的...

    Oracle-PL/SQL-windows-32位-客户端

    总之,Oracle-PL/SQL-windows-32位-客户端提供了在32位Windows系统上进行Oracle数据库管理的基础,通过配置oci.dll路径,用户可以使用PL/SQL Developer进行高效的数据操作和开发工作。不过,为了保证系统的稳定性和...

    Oracle PL SQL专家指南_高级PLSQL解决方案的设计与开发

    Oracle PL/SQL是Oracle数据库系统中的过程化语言,它结合了SQL的数据库操作能力和传统的编程语言特性,使得开发者能够创建复杂的数据处理逻辑和业务规则。《Oracle PL SQL专家指南:高级PLSQL解决方案的设计与开发》...

    oracle 9i pl/sql程序设计笔记

    通过上述对Oracle 9i PL/SQL程序设计笔记的总结,我们可以看到PL/SQL作为一种强大的数据库编程语言,提供了丰富的功能来支持数据处理、事务控制及业务逻辑的实现。掌握PL/SQL的不同块类型及其使用方法对于开发高效、...

    Oracle资料学习PL/SQL必备

    2. **数据类型**:PL/SQL支持多种数据类型,包括数值类型(如NUMBER)、字符串类型(如VARCHAR2、CHAR)、日期时间类型(如DATE)、布尔类型(BOOLEAN)以及复合数据类型(如记录和数组)。 3. **变量声明和赋值**...

    pl/sql数据库学习笔记

    PL/SQL数据库学习笔记 PL/SQL是一种高级的程序语言,主要用于Oracle数据库管理系统中。下面是PL/SQL数据库学习笔记的知识点总结。 一、基本原则 *瀑布模型:需求分析→设计(概要设计,详细设计:SQL语句,变量...

    PLSQL程序设计Word文档doc格式最新版本

    - 2.4 PL/SQL变量类型 - 2.4.1 基本变量类型 - 2.4.2 复合变量类型 - 2.4.3 使用%ROWTYPE - 2.4.4 LOB类型 - 2.4.5 绑定变量 - 2.4.6 INDEX BY TABLES - 2.4.7 数据类型转换 - 2.5 运算符与表达式(数据...

    pl/sql最新中文手册

    1. **PL/SQL基础**:手册可能会从基础开始,介绍PL/SQL的基本结构,包括声明变量、常量、游标、记录类型等。还会讲解如何编写存储过程、函数和触发器。 2. **控制流程语句**:这包括条件判断(IF-THEN-ELSIF-ELSE)...

    PL/SQL学习资料

    1. **变量和数据类型**:在PL/SQL中,我们有多种数据类型,包括数值型(NUMBER、BINARY_INTEGER、INTEGER)、字符型(VARCHAR2、CHAR)、日期型(DATE)、布尔型(BOOLEAN)等,以及PL/SQL特有的对象类型和复合类型...

    PL/SQL 基本知识

    首先,PL/SQL是一种过程化语言,它允许用户定义变量、控制流程(如循环、条件语句)、处理异常,并且可以嵌入SQL查询,进行数据的增删改查操作。通过使用PL/SQL,数据库管理员和开发者可以更高效地管理和维护数据库...

    Oracle PL/SQL学习官方教材

    1. **基础概念**:首先,教材会介绍PL/SQL的基本概念,包括块(Block)、变量(Variable)、常量(Constant)、数据类型(Data Types)和声明(Declaration)。例如,PL/SQL中的块由BEGIN、END语句界定,变量和常量...

Global site tag (gtag.js) - Google Analytics