第6章PL/SQL编程基础 工工工工工二二工二工二工二工工二 在实际情况中,信息的存储和查询只是数据库系 统应用中的一部分,即便最简单的数据处理程序也不 可能只使用SQL语句来完成。例如,在某公司的工资 管理系统中,需要根据每位员工职位和工作表现附加 定的补住。因此,在实际的应用中,仅仅使用SQL 清率电脑学堂 语句是远远不够的,这就是为什么Oracle数据库提供 了自己的编程语言PL/SQL
1 第6章 PL/SQL编程基础 在实际情况中,信息的存储和查询只是数据库系 统应用中的一部分,即便最简单的数据处理程序也不 可能只使用SQL语句来完成。例如,在某公司的工资 管理系统中,需要根据每位员工职位和工作表现附加 一定的补住。因此,在实际的应用中,仅仅使用SQL 语句是远远不够的,这就是为什么Oracle数据库提供 了自己的编程语言PL/SQL
本章知迟要点: 300000000001 PL/SQL和SQL的区别 PL/SQL程序的结构 在PL/SQL程序中应用各种变量 在PL/SQL程序中使用条件语句 清率电脑学堂 在PL/SQL程序中使用循环语句 游标的使用 PL/SQL程序的异常处理
2 本章知识要点: • PL/SQL和SQL的区别 • PL/SQL程序的结构 • 在PL/SQL程序中应用各种变量 • 在PL/SQL程序中使用条件语句 • 在PL/SQL程序中使用循环语句 • 游标的使用 • PL/SQL程序的异常处理
6.1PL☑SQL概述 PL/SQL是过程化的结构查询语言(Procedural Language/Structured Query Language),它可以弥 补SQL语句的不足。在PL/SQL中可以通过IF和 LOOP语句控制程序的执行流程,并且可以定义变量 以便利用这些变量在语句之间传递数据信息。 PL/SQL是Oracle的专用语言,它是对标准SQL语言 清率电脑学堂 的扩展,并且SQL语句可以嵌套在PL/SQL程序代码 中,将SQL的数据处理能力和PL/SQL的过程处理能 力结合在一起
3 6.1 PL/SQL概述 • PL/SQL是过程化的结构查询语言(Procedural Language/Structured Query Language),它可以弥 补SQL语句的不足。在PL/SQL中可以通过IF和 LOOP语句控制程序的执行流程,并且可以定义变量 ,以便利用这些变量在语句之间传递数据信息。 PL/SQL是Oracle的专用语言,它是对标准SQL语言 的扩展,并且SQL语句可以嵌套在PL/SQL程序代码 中,将SQL的数据处理能力和PL/SQL的过程处理能 力结合在一起
6.2变量与数据类型 变量本质上是一种用名称进行标记的容器,它们 可以包含或保存不同类型的数据。根据不同的数据类 型,变量可以存储不同类型的数据,并且彼此可以通 过变量名进行区分。 清率电脑学堂
6.2 变量与数据类型 • 变量本质上是一种用名称进行标记的容器,它们 可以包含或保存不同类型的数据。根据不同的数据类 型,变量可以存储不同类型的数据,并且彼此可以通 过变量名进行区分。 4
6.2.1 PL/SQL变量的声明 工工二工二工二工二二工二工二工工 可以使用下面两种语法声明PL/SQL变量: 清率电脑学堂 variable_name data_type [NOT NULL]:=default value_expression]; variable_name data_type [NOT NULL] DEFAULT default_value_expression];
6.2.1 PL/SQL变量的声明 • 可以使用下面两种语法声明PL/SQL变量: 5 variable_name data_type [ [NOT NULL]:=default_value_expression]; variable_name data_type [ [NOT NULL] DEFAULT default_value_expression];
6.2.2%TYPE变量 在声明变量时,除了可以使用Oracle规定的数据类型 外,还可以使用%TYPE关键字定义变量类型。%TYPE 关键字的含义是声明一个与指定列名称相同的数据类型 电 。例如,下面的语句声明了一个与EMP表中ENAME列完 脑 全相同的数据类型: 学堂 declare var name emp.ename%type;
6 6.2.2 %TYPE变量 • 在声明变量时,除了可以使用Oracle规定的数据类型 外,还可以使用%TYPE关键字定义变量类型。%TYPE 关键字的含义是声明一个与指定列名称相同的数据类型 。例如,下面的语句声明了一个与EMP表中ENAME列完 全相同的数据类型: declare var_name emp.ename%type;
6.2.3复合变量 很多结构化程序设计语言都提供了记录类型的数 据类型,在PL/SQL中,也支持将多个基本数据类型 捆绑在一起的记录数据类型,即复合变量。相对于标 量变量,复合变量一次可以存储多个数值。 清率电脑学堂
7 6.2.3 复合变量 • 很多结构化程序设计语言都提供了记录类型的数 据类型,在PL/SQL中,也支持将多个基本数据类型 捆绑在一起的记录数据类型,即复合变量。相对于标 量变量,复合变量一次可以存储多个数值
6.3条件语句 PL/SQL与其他的编程语言一样,也都具有条件判 断语句,条件判断语句的主要作用是根据条件的变化选 择执行不同的代码。 清率电脑学堂
6.3 条件语句 • PL/SQL与其他的编程语言一样,也都具有条件判 断语句,条件判断语句的主要作用是根据条件的变化选 择执行不同的代码。 8
6.3.1IF..THEN条件语句 十工工十二十二二二二二二二 在PL/SQL中为了控制程序的执行方向,引进了IF 语句。最简单的F语句就是F.THEN语句,其语法形 式如下: 清率电脑学堂 if then pl/sgl statement; end if;
6.3.1 IF…THEN条件语句 • 在PL/SQL中为了控制程序的执行方向,引进了IF 语句。最简单的IF语句就是IF.THEN语句,其语法形 式如下: 9 if then pl/sql_statement; end if;
6.3.2IF..THEN.ELSE条件语句 IF语句的另一种形式就是与ELSE语句结合使用 ,形成F.THEN.ELSE语句。该语句的语法形式如 下: 清率电脑学堂 if then pl/sql_statement1; else pl/sql statement2; end if;
10 6.3.2 IF…THEN…ELSE条件语句 • IF语句的另一种形式就是与ELSE语句结合使用 ,形成IF..THEN..ELSE语句。该语句的语法形式如 下: if then pl/sql_statement1; else pl/sql_statement2; end if;