一:变量作用域
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数据库特有的编程语言,它结合了SQL的查询能力与过程式编程语言的功能,使得数据库...
我们学习了PL/SQL的变量类型,包括基本类型(如NUMBER、VARCHAR2等)、复合类型(如记录类型、数组类型)、%ROWTYPE(用于创建与表列结构对应的变量)以及LOB(Large Object)类型,后者用于存储大量非结构化数据,...
以下是对PL/SQL的学习笔记的详细解析: 1. **什么是PL/SQL语言** PL/SQL是Oracle数据库为数据库管理员和开发人员设计的一种编程语言。它扩展了SQL的功能,允许编写包含控制结构、变量、过程和函数的程序段,这些...
在PL/SQL中,数据类型分为标量类型、复合类型、参考类型和LOB类型。标量类型包括数字类型、字符类型、日期类型和布尔类型等。复合类型包括记录类型和集合类型,其中集合类型又包括数组和表。参考类型是记录的引用,...
Oracle PL/SQL是一种强大的数据库编程语言,用于在Oracle数据库中执行复杂的业务逻辑和数据操作。在"Oracle PL/SQL实例精讲--使用表,课后答案"中,读者可以深入理解如何有效地使用PL/SQL与Oracle数据库中的表格进行...
- 数据类型:熟悉PL/SQL内置的数据类型,如NUMBER、VARCHAR2、DATE等。 - 变量和常量:声明和使用变量,以及定义常量。 - 控制流程语句:学习IF-THEN-ELSIF-ELSE、CASE、FOR循环、WHILE循环等。 - 函数和过程:...
PL/SQL提供了多种变量类型,包括: - **简单类型**:如NUMBER、VARCHAR2、DATE等,用于存储基本数据类型。 - **复合类型**:如数组、记录(%ROWTYPE),允许存储多个值或整个数据库行。 - **%ROWTYPE**:使用%...
- **变量和常量**:PL/SQL支持各种数据类型,如NUMBER、VARCHAR2、DATE等,以及声明变量和常量的方式。 - **流程控制**:包括IF...ELSIF...ELSE、CASE、FOR循环、WHILE循环等结构。 2. **PL/SQL程序单元** - **...
- **集合与记录**:学习如何使用PL/SQL中的集合和记录类型,这些结构可以帮助更高效地处理数据集。 - **游标**:介绍游标的使用方法,包括隐式游标和显式游标,以及如何利用游标遍历查询结果。 #### 四、PL/SQL中的...
总之,Oracle-PL/SQL-windows-32位-客户端提供了在32位Windows系统上进行Oracle数据库管理的基础,通过配置oci.dll路径,用户可以使用PL/SQL Developer进行高效的数据操作和开发工作。不过,为了保证系统的稳定性和...
Oracle PL/SQL是Oracle数据库系统中的过程化语言,它结合了SQL的数据库操作能力和传统的编程语言特性,使得开发者能够创建复杂的数据处理逻辑和业务规则。《Oracle PL SQL专家指南:高级PLSQL解决方案的设计与开发》...
通过上述对Oracle 9i PL/SQL程序设计笔记的总结,我们可以看到PL/SQL作为一种强大的数据库编程语言,提供了丰富的功能来支持数据处理、事务控制及业务逻辑的实现。掌握PL/SQL的不同块类型及其使用方法对于开发高效、...
2. **数据类型**:PL/SQL支持多种数据类型,包括数值类型(如NUMBER)、字符串类型(如VARCHAR2、CHAR)、日期时间类型(如DATE)、布尔类型(BOOLEAN)以及复合数据类型(如记录和数组)。 3. **变量声明和赋值**...
PL/SQL数据库学习笔记 PL/SQL是一种高级的程序语言,主要用于Oracle数据库管理系统中。下面是PL/SQL数据库学习笔记的知识点总结。 一、基本原则 *瀑布模型:需求分析→设计(概要设计,详细设计:SQL语句,变量...
- 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 运算符与表达式(数据...
1. **PL/SQL基础**:手册可能会从基础开始,介绍PL/SQL的基本结构,包括声明变量、常量、游标、记录类型等。还会讲解如何编写存储过程、函数和触发器。 2. **控制流程语句**:这包括条件判断(IF-THEN-ELSIF-ELSE)...
1. **变量和数据类型**:在PL/SQL中,我们有多种数据类型,包括数值型(NUMBER、BINARY_INTEGER、INTEGER)、字符型(VARCHAR2、CHAR)、日期型(DATE)、布尔型(BOOLEAN)等,以及PL/SQL特有的对象类型和复合类型...
首先,PL/SQL是一种过程化语言,它允许用户定义变量、控制流程(如循环、条件语句)、处理异常,并且可以嵌入SQL查询,进行数据的增删改查操作。通过使用PL/SQL,数据库管理员和开发者可以更高效地管理和维护数据库...
1. **基础概念**:首先,教材会介绍PL/SQL的基本概念,包括块(Block)、变量(Variable)、常量(Constant)、数据类型(Data Types)和声明(Declaration)。例如,PL/SQL中的块由BEGIN、END语句界定,变量和常量...