PLSQL基础(四)

合集下载

PL_SQL基础

PL_SQL基础

ORACLE 10g
PLSQL基础 2.根据表的字段定义变量
WEPULL ORACLE 10g
变量的声明还可以根据数据库表的字段进行定义或根据已经定义 的变量进行定义。方法是在表的字段名或已经定义的变量名后加 %TYPE,将其当作数据类型。定义字段变量的方法如下: 变量名 表名.字段名%TYPE; 【训练2】 根据表的字段定义变量。
ORACLE 10g
PLSQL基础 【训练1】 变量的定义和初始化。 输入和运行以下程序: SET SERVEROUTPUT ON
WEPULL ORACLE 10g
DECLARE
v_job
--声明部分标识
VARCHAR2(9);
v_count BINARY_INTEGER DEFAULT 0;
v_total_sal
4. 不能使用Oracle的保留字作为变量名。
5. 变量名不要和在程序中引用的字段名相重,如果相重,变量 名会当作列名来使用。
ORACLE 10g
PLSQL基础
WEPULL ORACLE 10g
变量的作用范围是在定义此变量的程序范围内,如果程序中
包含子块,则变量在子块中也有效。但在子块中定义的变量,仅 在定义变量的子块中有效,在主程序中无效。 变量定义的方法是: 变 量 名 [CONSTANT] 类 型 标 识 符 [NOT NULL][:= 值 |DEFAULT 值];
ORACLE 10g
PLSQL基础 2 块结构和基本语法要求
WEPULL ORACLE 10g
PL/SQL程序的基本单元是块(BLOCK),块就是实现一定功能的 逻辑模块。一个PL/SQL程序由一个或多个块组成。块有固定的结构,
也可以嵌套。一个块可以包括三个部分,每个部分由一个关键字标识。

PLSQL循序渐进全面学习教程(全)

PLSQL循序渐进全面学习教程(全)

PLSQL循序渐进全面学习教程(全)PL/SQL是用于Oracle数据库的编程语言,它结合了SQL语句的数据操作能力和一般编程语言的逻辑控制能力。

PL/SQL循序渐进的全面学习教程将帮助你逐步学习和掌握PL/SQL的各个方面。

1.简介和基础知识:-PL/SQL的概念和背景-PL/SQL的开发工具和环境-PL/SQL和SQL的关系-PL/SQL的基本语法和数据类型2.变量和常量:-PL/SQL变量的声明和使用-不同类型的变量和数据类型-常量的定义和使用3.控制结构:-IF-THEN语句和IF-THEN-ELSE语句-CASE语句的使用-循环语句(FOR循环、WHILE循环)4.异常处理:-异常的概念和分类-异常处理的方法和语句-自定义异常和错误处理5.子程序和函数:-PL/SQL子程序和函数的概念和用途-创建和调用子程序和函数-参数传递和返回值6.游标和结果集:-游标的概念和使用场景-游标的声明、打开、关闭和绑定-使用游标处理结果集和数据集7.触发器:-触发器的概念和作用-创建和使用触发器-触发器的触发事件和触发时机8.包和包体:-包和包体的定义和特点-创建和使用包和包体-包的封装和共享9.过程和函数:-过程和函数的概念和区别-创建和使用过程和函数-过程和函数的编写和调用10.使用PL/SQL开发应用程序:-使用PL/SQL编写数据库操作代码-使用PL/SQL开发业务逻辑-PL/SQL和其他编程语言的集成以上是PL/SQL循序渐进全面学习教程的大纲,你可以根据自己的学习进度逐步深入学习每个主题。

希望这个教程对你学习和掌握PL/SQL编程语言有所帮助!。

第4章 PLSQL语言基础(理论)01修改后

第4章 PLSQL语言基础(理论)01修改后

第4章PL/SQL语言基础本章学习内容1. PL/SQL语言简介2. 程序结构3. 流程控制4. 异常处理5. 开发动态SQL本章学习目标1. 掌握PL/SQL程序结构2. 掌握PL/SQL流程控制3. 掌握PL/SQL异常处理4. 掌握PL/SQL中开发动态SQL本章简介在第3章中,我们已经学习了同义词、序列、视图、索引等知识。

并通过同义词以一种非常简便的方式去访问其它方案中的对象;通过视图将一些复杂的SQL语句封装起来方便使用;通过序列作为表的自动编号并做为主键实现了数据库的实体完整性;通过使用各种索引在数据量非常宠大的表中提高查询效率。

但是要实现复杂的商用业务逻辑仅凭这些对象是远远不够的,我们必须使用程序流程控制和异常处理机制等。

本章将继续学习程序结构、流程控制、异常处理、开发动态SQL等知识。

流程控制是PL/SQL 对SQL最重要的扩展。

流程控制结构包括条件控制、循环控制和顺序控制,流程控制为我们提供了实现复杂业务逻辑的一种途径。

为处理程序中的异常,PL/SQL提供了一种异常错误处理机制,可以帮助实现对错误的捕获和处理,当异常发生时,PL/SQL会自动地捕获异常并自动地将程序控制流程转移到异常处理部分的程序。

在PL/SQL程序设计中,可以直接使用DML和事务控制的语句,但DDL语句及系统控制语句却不能在PL/SQL中直接使用。

如果需要在PL/SQL中使用DDL语句及系统控制语句,可以通过使用动态SQL来实现,如需要动态建表或某个不确定的操作需要动态执行。

4.1PL/SQL语言简介4.1.1 PL/SQL概述PL/SQL是Oracle在标准SQL语言上的过程性扩展,它不仅允许嵌入SQL语句,而且允许定义变量和常量,允许过程语言结构(条件分支语句和循环语句),允许使用异常来处理Oracle错误等。

在任何运行Oracle的平台上,应用开发人员都可以使用PL/SQL。

通过使用PL/SQL,可以在一个PL/SQL块中包含多条SQL语句和PL/SQL语句。

PLSQL基本操作手册

PLSQL基本操作手册

第1章用PLSQL连接Oracle数据库PLSQL只能用来连接Oracle数据库(不象PB还可以连接JDBC、ODBC),所以必须首先安装并配置Oracle客户端。

§1.1初次登录PLSQL:运行PLSQL通过如下界面连接Oracle数据库:Database的下拉列表中自动列出了Oracle客户端配置的所有服务名。

选择要连接的Oracle服务名,并输入用户名/密码。

点击ok进行连接。

§1.2登录信息保存功能设置:如果设置了登录信息保存功能,可以通过以下方式连接数据库,而不必每次输入用户名/密码。

点击,在下拉列表中选择之前保存的数据库登录信息,直接进行连接。

登录信息保存功能设置:进入PLSQL后,在菜单区点击右键,出现如下PLSQL配置界面。

将Store with password 选中即可,这样第一次通过用户名/密码登录某数据库后,下次就不用再输入用户名/密码了。

§1.3进入PLSQL后切换数据库连接:点击,选择要连接的数据库即可完成切换。

第2章PLSQL中编写SQL语句并执行点击,并选择SQL Window进入SQL语句编写界面,如下:点击,执行SQL语句,页面右下方出现结果列表。

如下图:(执行快捷键为:F8)点击,使结果全部呈现。

第3章PLSQL中查看数据库表结构§3.1查看表结构:在如下界面,按住Ctrl键并将鼠标移动到一个表名,此时表名变了颜色:点击表名,便可显示表结构,如下图:§3.2表结构窗口和SQL编写窗口切换:在Tools菜单中,选中Window List,此时会新打开一个窗口,将其放置到左下脚,窗口中罗列了右下方操作区打开的所有窗口,通过选择可以进行窗口切换。

也可通过以下方式进行切换:在Window菜单最下方罗列了操作区打开的所有窗口,通过选择可以进行窗口切换。

第4章PLSQL中SQL语句的注释选取想要注释的语句,点击进行注释,如下:结果如下:取消注释点击。

《PLSQL基础》课件

《PLSQL基础》课件
2 函数的定义和应用
掌握函数的创建和使用,以便在SQL查询中返回计算结果。
3 区别和联系
比较存储过程和函数的差异,了解它们在不同场景下的应用。
游标和触发器
1 游标的概念和用法
了解如何使用游标在PLSQL中处理查询结果集。
2 触发器的概念和应用
学习如何创建和使用触发器来自动触发数据库操作。
3 难点分析
1 条件判断语句
掌握IF-THEN、IF-THEN-ELSE和CASE语句,用于根据条件执行不同的代码块。
2 循环语句
学习FOR、WHILE和LOOP语句,以便重复执行代码块。
3 例外处理语句
了解如何处理异常情况,确保代码的可靠性和稳定性。
存储过程和函数
1 存储过程的定义和应用
学习如何创建和调用存储过程,以实现具有复杂逻辑的数据库操作。
了解在哪些场景下使用PLSQL可以极大地提升开发效率和数据处理能力。
2 知识点回顾
复习本课程的核心知识点,加深对PLSQL的理解和掌握。
3 后续学习建议
给出一些建议,帮助学员继续深入学习和应用PLSQL。
PLSQL具有高性能、可扩展性和安全性,它可以有效地处理大量数据和复杂的业务逻辑。
变量与数据类型
1 变量的定义
学习如何声明和使用变量,以存储和操作数据。
2 数据类型的分类和应用
了解各种数据类型的特性和用法,包括数字、字符、日期等类型。
3 常量的定义和应用
学习如何定义和使用常量,以存储不可变的值。
控制语句
探讨使用游标和触发器时可能遇到的常见问题和解决方法。
高级技巧
1 包的定义和使用
了解包的概念和结构,学习如何使用包来组织和管理PLSQL代码。

PLSQL语言基础

PLSQL语言基础


PL/SQL开发工具


SQL *PLUS Procedure Builder Oracle Form、Oracle Reports PL/SQL Developer
PL/SQL程序结构
DECLARE --此处用来定义常量、变量、类型和游标等 BEGIN --此处用来编写各种PL/SQL语句、函数和存储过程 EXCEPTION --此处用来编写异常处理代码 END;

示例
DECLARE TYPE t_emp IS RECORD( empno NUMBER(4), ename CHAR(10), sal NUMBER(6,2)); v_emp t_emp; BEGIN SELECT empno,ename,sal INTO v_emp FROM emp WHERE empno=7844; DBMS_OUTPUT.PUT_LINE(v_emp.ename||' '||v_emp.sal); END;

SELECT 列,列,.. INTO variable_list|record_variable FROM table WHERE condition;

注意: SELECT…INTO语句只能查询一个记录的信息,如 果没有查询到任何数据,会产生 NO_DATA_FOUND异常;如果查询到多个记录, 则会产生TOO_MANY_ROWS异常。 INTO句子后的变量用于接收查询的结果,变量的 个数、顺序应该与查询的目标数据相匹配,也可以 是记录类型的变量。
%rowtype变量

定义一个变量,用于存放表中的一行数据,可 以采用下面的定义方法: 变量名 表名%rowtype; 变量名 游标名%rowtype;

PLSQL使用详细介绍

PLSQL使用详细介绍

PLSQL使用详细介绍一、PL/SQL的定义PL/SQL(Procedural Language / Structured Query Language),中文名“结构化查询语言/过程语言”,是一种由Oracle Corporation开发的面向专业应用的程序语言。

最早是在Oracle 6.0中推出,随着Oracle数据库的发展,经过Oracle 7.0,Oracle 8.0,Oracle 8i,Oracle 9i,Oracle 10g,Oracle 11g,Oracle 12c的不断升级,PL/SQL也在这些过程中慢慢完善。

PL/SQL是一种面向步骤的查询语言,也是一种声明式语言,也可以把它看成是一种增强版的SQL,它完全兼容SQL,支持所有的SQL命令,它可以写SQL语句,也可以把多个SQL语句封装成一个存储过程(procedure)、函数(function)、触发器(trigger)、包(package)、游标(cursor)等对象,达到控制数据库、数据的收集,处理和分析等目的,从而提高程序的执行效率,给予用户更好的功能服务。

二、PL/SQL的功能1、PL/SQL支持一系列的现代计算机语言的特性,包括:变量声明、条件执行、循环控制、次级处理程序、异常处理(类似C语言)以及更多的其他特性。

这使得PL/SQL能够很容易地编写复杂的程序。

2、PL/SQL能够使用SQL语句实现数据对象的更新和查询。

能够编写出更加复杂和有效的SQL语句,比如视图(view)、存储过程(stored procedure)、触发器(trigger)等,同时也可以使用它进行数据的事务处理(transaction processing)和数据库管理(data base management)。

(2024年)数据库培训PLSQL

(2024年)数据库培训PLSQL
32
安全性考虑和防范措施
1 2
防止SQL注入攻击
在编写动态SQL时,必须严格验证用户输入,避 免将用户输入直接拼接到SQL语句中,以防止 SQL注入攻击。
限制数据库访问权限
应根据实际需求为应用程序分配最小的数据库访 问权限,避免应用程序拥有过高的权限导致安全 风险。
定期审计和监控数据库访问
3
通过定期审计和监控数据库访问记录,可以及时 发现异常访问行为并采取相应措施,保障数据库 安全。
循环控制
PLSQL支持FOR、WHILE和LOOP等 循环控制结构,用于重复执行一段代 码直到满足特定条件。
2024/3/26
6
异常处理机制
2024/3/26
异常类型
PLSQL中的异常包括预定义异常(如NO_DATA_FOUND、TOO_MANY_ROWS 等)和自定义异常(通过RAISE语句触发)。
数据库培训PLSQL
2024/3/26
1
目录
2024/3/26
• PLSQL概述与基础 • 数据库操作与查询优化 • 存储过程与函数设计 • 触发器设计与应用 • 游标、包和异常处理 • PLSQL高级特性与最佳实践
2
01
PLSQL概述与基础
2024/3/26
3
PLSQL定义及作用
定义
PLSQL是Oracle数据库的过程化SQL扩展语言,全称为Procedural Language/Structured Query Language。
变量
在PLSQL中,可以使用DECLARE部分声明变量,并为其指定 数据类型和初始值。变量用于存储临时数据,可以在程序执 行过程中进行修改和访问。
5
控制结构与流程

PLSQL编程

PLSQL编程

DECLARE SALARY_CODE VARCHAR2(1); INVALID_SALARY_CODE EXCEPTION;
BEGIN SALARY_CODE:='X'; IF SALARY_CODE NOT IN('A', 'B', 'C') THEN RAISE INVALID_SALARY_CODE; END IF;
2. PL/SQL的特点
对于SQL语句,Oracle必须在同一时间处理一条SQL语句,在网络环境 下这就意味作每一个独立的调用都必须被oracle服务器处理,这就占用 大量的服务器时间,同时导致网络拥挤。而PL/SQL是以整个语句块发 给服务器,这就降低了网络拥挤。
4.1.2 开发及运行环境
服务器端 PL/SQL 不需要显式的安装。 PL/SQL 编译器和解释器也嵌入到 Oracle Developer 中,使 开发者在客户端也可进行开发和调试。
PL/SQL程序块可以是一个命名的程序块也可以是一个匿名程序块, 匿名程序块可以用在服务器端也可以用在客户端。
执行部分包含了所有的语句和表达式,执行部分以关键字BEGIN开 始,以关键字EXCEPTION结束,如果EXCEPTION不存在,那么将以 关键字END结束。分号分隔每一条语句,使用赋值操作符:=或SELECT INTO或FETCH INTO给每个变量赋值,执行部分的错误将在异常处理 部分解决。
• INVALID_CURSOR 在不合法的游标上进行操作 ,试图使用无效的光标
• INVALID_NUMBER
不能将字符转换为数字
• NO_DATA_FOUND
使用 select into 未返回行,或应用索引表未初始化的元素时

plsql 使用手册

plsql 使用手册

plsql 使用手册(最新版)目录1.PL/SQL简介2.PL/SQL的基本语法3.数据类型与变量4.控制结构5.函数与过程6.触发器与存储过程7.异常处理8.PL/SQL与SQL的交互9.PL/SQL的应用实例10.PL/SQL的优缺点及发展前景正文【PL/SQL 简介】PL/SQL(Procedural Language/Structured Query Language)是一种过程式编程语言,它是为了与 SQL(结构化查询语言)协同工作而设计的。

PL/SQL 通常用于 Oracle 数据库中,用于编写存储过程、触发器、函数等,从而实现对数据库的高级操作和控制。

【PL/SQL 的基本语法】PL/SQL的基本语法包括变量声明、数据类型、控制结构(条件语句、循环语句等)、函数与过程、触发器与存储过程等。

【数据类型与变量】PL/SQL的数据类型与SQL的数据类型基本一致,包括数字类型、字符串类型、日期类型等。

在PL/SQL中,需要先声明变量,再进行使用。

【控制结构】PL/SQL的控制结构包括条件语句(IF-THEN、IF-THEN-ELSE)、循环语句(WHILE、FOR)等,用于实现复杂的逻辑控制。

【函数与过程】函数是一种返回某个值的过程,过程则是一种不返回值的操作。

在PL/SQL 中,函数与过程可以通过参数传递数据,并返回结果。

【触发器与存储过程】触发器是一种在对表执行 INSERT、UPDATE 或 DELETE 操作时自动执行的存储过程。

存储过程是一组预先编译的 SQL 语句,可以实现复杂的业务逻辑。

【异常处理】PL/SQL中可以处理异常,通过EXCEPTION和WHEN子句可以捕获和处理异常情况。

【PL/SQL 与 SQL 的交互】PL/SQL可以与SQL进行交互,例如在PL/SQL过程中调用SQL语句,或者在SQL语句中调用PL/SQL过程。

【PL/SQL 的应用实例】一个典型的PL/SQL应用实例是编写一个存储过程,用于实现数据的增、删、改、查等操作。

数据库培训-PLSQL

数据库培训-PLSQL

数据库培训-PLSQL数据库培训 PLSQL在当今数字化的时代,数据库管理和编程技能变得愈发重要。

PL/SQL(Procedural Language/Structured Query Language)作为一种强大的数据库编程语言,在企业级应用开发中发挥着关键作用。

无论是处理复杂的业务逻辑、提高数据库性能,还是确保数据的准确性和完整性,PL/SQL 都有着出色的表现。

接下来,让我们深入了解一下PLSQL 培训的相关内容。

PL/SQL 是 Oracle 数据库对 SQL 语言的过程化扩展。

它将 SQL 语言的强大查询能力与过程化编程语言的控制结构相结合,使得开发者能够在数据库内部编写复杂的逻辑和操作。

通过使用 PLSQL,我们可以创建存储过程、函数、触发器等数据库对象,从而实现更高效、更灵活的数据处理。

在 PLSQL 培训中,首先要掌握的是基本语法。

这包括变量的定义和使用、数据类型的选择、控制结构(如条件判断、循环)等。

例如,我们可以使用`DECLARE` 关键字来定义变量,像这样:```sqlDECLAREv_name VARCHAR2(50);v_age NUMBER;BEGIN后续代码中使用变量进行操作END;```数据类型的选择也非常重要,常见的数据类型有字符型(如`VARCHAR2` )、数值型(如`NUMBER` )、日期型(如`DATE` )等。

掌握了基本语法后,接下来就是学习如何进行数据库操作。

PL/SQL 可以与SQL 语句无缝集成,方便我们对数据库中的表进行查询、插入、更新和删除等操作。

比如,要从一个名为`employees` 的表中查询数据,可以这样写:```sqlDECLAREv_employee_id NUMBER;v_employee_name VARCHAR2(50);BEGINSELECT employee_id, employee_name INTO v_employee_id,v_employee_nameFROM employeesWHERE department_id = 10;对获取到的数据进行进一步处理END;```存储过程是 PLSQL 中的重要概念之一。

plsql 使用手册

plsql 使用手册

plsql 使用手册PL/SQL 使用手册PL/SQL 是一种过程化编程语言,特别适合与 Oracle 数据库一起使用。

本文将为您提供 PL/SQL 的使用手册,详细介绍 PL/SQL 的特性、语法以及常用技巧,帮助您快速上手并有效地利用 PL/SQL 进行数据库开发。

1. PL/SQL 简介PL/SQL 是 Oracle 数据库中扩展功能的一部分,它结合了 SQL 语句和流程控制语句,允许开发人员在数据库中执行复杂的任务和操作。

PL/SQL 以块的方式组织代码,这些代码块可以嵌套和重用,提高了代码的可维护性和复用性。

2. PL/SQL 基础语法2.1 变量和数据类型在 PL/SQL 中,可以声明各种类型的变量来存储数据。

常见的数据类型包括整型、浮点型、字符型等。

通过变量,可以存储和操作数据,使得代码更加灵活和可读性更强。

2.2 控制流程PL/SQL 提供了丰富的控制流程语句,如条件判断、循环等,用于实现不同的业务逻辑。

通过控制流程语句,可以根据不同的情况执行不同的代码块,实现灵活的程序逻辑。

2.3 异常处理PL/SQL 具有强大的异常处理机制,通过使用 EXCEPTION 关键字来捕获和处理异常。

可以使用 TRY-CATCH 结构捕获异常,并在异常发生时执行相应的操作,保证程序的健壮性和稳定性。

3. PL/SQL 常用技巧3.1 存储过程存储过程是 PL/SQL 的一种重要应用,可以将一系列的 SQL 语句和逻辑封装在一个过程中,提供数据库操作的接口。

存储过程可以提高性能,减少网络开销,并增加代码的重用性。

3.2 游标游标是 PL/SQL 用于遍历结果集的一种对象。

通过游标,可以从查询结果中提取出数据,并逐条进行处理。

这在需要对查询结果进行逐行处理时非常有用。

3.3 包和触发器PL/SQL 支持包和触发器的概念,这些是组织和管理代码的有力工具。

通过将相关的过程和函数组织到包中,可以提高代码的可维护性和可读性。

PLSQL基础培训PPT课件

PLSQL基础培训PPT课件
PL_SQL基础培训
PL/SQL 语言
SQL中操作符的使用
定义:操作符是保留的字或字符,主要用于比 较和算术运算。
分类:比较操作符,逻辑操作符和算术运算符。 1、比较操作符
包括:=,<>, >, <, <=, >=。 注意比较双方的数据类型。 2、算术运算符 包括:+,-,*,/等。 与数学运算规则一致。
PL/SQL 语言
PL_SQL基础培训
通过本章的学习应该掌握:
PL/SQL语言的编程规范 Oracle数据库的基本数据类型和函数 应用PL/SQL语言编写基本的sql
PL_SQL基础培训
一、PL/SQL语言编程规范 1)命名
语言---命名使用能表述对象意义的单词或者约定俗成的符号,不允 许使用中文或者特殊符号。
单词分隔---命名的各单词使用下划线进行分隔。 保留字----命名禁止使用sql保留字(可以在v$reserved_words视
图中查找所有的保留字)。 命名长度---限制在30个字符内(含前缀)。
PL_SQL基础培训
2)命名规范
普通变量---前缀为v_,存放字符、数字、日期型变量。 游标变量---前缀为cur_,存放游标记录集。 存储过程---前缀为p_,按照业务操作命名。 函数---前缀为f_,按照业务操作命名。 包---前缀为pkg_,按照业务操作集合命名。 触发器---前缀为trig_,触发器名是前缀+表名+触发器名 索引---前缀为IDX_,索引名是前缀+表名+索引字段
Sequence_of_statement1; ELSE
Sequence_of_statement2; END IF;
PL_SQL基础培训

PLSQL基本操作手册

PLSQL基本操作手册

PL/SQL基本操作手册PL/SQL(Procedural Language/Structured Query Language)是一种基于SQL 语言的过程编程语言,它在Oracle数据库中非常常见。

本文将介绍PL/SQL的基本操作,如变量、控制语句、游标等。

变量和常量变量可以使用DECLARE语句声明。

在代码中,变量必须指定它们的类型,例如NUMBER、VARCHAR2或BOOLEAN。

DECLAREv_employee_id NUMBER:=100;v_employee_name VARCHAR2(50) :='John Doe';v_is_hired BOOLEAN:=TRUE;BEGIN-- code goes hereEND;常量是一个不可变的参数,可以使用CONSTANT关键字定义。

常量的值不会在程序中更改。

DECLAREc_tax_rate CONSTANT NUMBER(4, 2) :=0.08;BEGIN-- code goes hereEND;控制语句控制语句提供了决策和循环结构。

IF语句IF语句用于对一个表达式进行测试,以确定哪个分支应该执行。

IF expression THEN-- code goes hereELSIF expression THEN-- code goes hereELSE-- code goes hereEND IF;CASE语句CASE语句用于检查多个可能的条件。

CASE expressionWHEN value1 THEN-- code goes hereWHEN value2 THEN-- code goes hereELSE-- code goes hereEND CASE;LOOP语句LOOP语句用于无限的循环,可以通过某些条件来终止循环。

LOOP-- code goes hereEXIT WHEN expression;END LOOP;WHILE语句WHILE语句用于执行一系列语句,只要指定条件为TRUE。

PLSQL编程基础总结

PLSQL编程基础总结
3
变量名表名.列名%TYPE
变量名其他变量名%TYPE
3
变量名表名%rowtype;(这个类似集合,数组)
使用时用:.
变量.字段
3
1、全部保留字,Oracle的内置函数,程序包以及用户定义的数据类型都用大写
2、每行只写一条语句,逗号后面以及运算符的前后都应加空格
3、变量名称都要使用有意义的名称命名
4、命名使用“_”的连接方式,而不是用大小写混合方式
5、变量前最后加上前缀,以表示该变量的数据类型,作用范围等
a)当定义变量时,建立用v_作为前缀
b)当定义常量时,建议用c_作为前缀
c)当定义异常时,建议用e_作为前缀
4
4
4
以“/”表示运行
如果程序有内容输出查看结果:set serveroutput on;然后再写SQL程序,“/”运行
SQL windows:
3
3.4.1
3.4.2
3
3
1、查询只能返回一条记录,多条或0条都会产生异常
2、into语句必须在select和from子句之间
3、into后需要赋值的变量的数据类型必须和select子句中检索出的数据类型一致
4、into需要赋值的变量个数需要和select查询出的字段数一致
3
变量:= &变量名;
&表示从键盘接受数据
PL/SQL
1
PL/SQL是一种程序语言,被称作过程花SQL语言(Procedural Language/SQL),是oracle数据库对SQL语言的扩展
1
具有更高,更高效,更可控制等特点
1
Oracle是一种使用比较广泛的关系型数据库,而用来访问关系型数据库的语言称为“结构化语言”,即SQL
  1. 1、下载文档前请自行甄别文档内容的完整性,平台不提供额外的编辑、内容补充、找答案等附加服务。
  2. 2、"仅部分预览"的文档,不可在线预览部分如存在完整性等问题,可反馈申请退款(可完整预览的文档不适用该条件!)。
  3. 3、如文档侵犯您的权益,请联系客服反馈,我们会尽快为您处理(人工客服工作时间:9:00-18:30)。

练习:
创建一张员工表 创建一个包,并且实现如下的功能。 对于员工表的增删改查功能。 计算员工总数的功能。 对于处理中的各种异常情况进行处理。
Package Body
CREATE OR REPLACE PACKAGE BODY TEAM_DATA AS PROCEDURE Add_Member( idcard IN PLS_INTEGER, fullname IN TypeFullName, age IN PLS_INTEGER DEFAULT 0) IS tmpSalary NUMBER := 2000; BEGIN myTeamMember.idcard := idcard; myTeamMember.fullname := fullname; myTeamMember.age := age; myTeamMember.salary := tmpSalary; END Add_Member; FUNCTION Calc_Member_Count RETURN PLS_INTEGER IS BEGIN RETURN SE_COUNT; END Calc_Member_Count; END TEAM_DATA;
PL/SQL Error Handling - 1
在过程和方法中,会经常用到异常处理
异常处理的格式: EXCEPTION WHEN ex_name_1 THEN statements_1 WHEN ex_name_2 OR ex_name_3 THEN statements_2 WHEN OTHERS THEN statements_3 END;


myTeamMember TypeMember;
SE_COUNT CONSTANT PLS_INTEGER := 10; CURSOR myTeamCursor IS SELECT * FROM MEMBER_TABLE; PROCEDURE Add_Member( idcard IN PLS_INTEGER, fullname IN TypeFullName, age IN PLS_INTEGER DEFAULT 0); FUNCTION Calc_Member_Count RETURN PLS_INTEGER; Business_Error EXCEPTION; END TEAM_DATA;
PL/SQL Error Handling - 2
DECLARE TYPE NUMBER_COLLECTION IS TABLE OF NUMBER; max_number NUMBER := 0; COLLECT_EMPTY_ERROR EXCEPTION; PROCEDURE GET_MAX_VALUE(nums IN NUMBER_COLLECTION, maxnum IN OUT NUMBER) IS BEGIN IF nums.count = 0 THEN RAISE COLLECT_EMPTY_ERROR; ELSE FOR i IN nums.FIRST .. ST LOOP IF maxnum < nums(i) THEN maxnum := nums(i); END IF; END LOOP; END IF; END GET_MAX_VALUE; BEGIN GET_MAX_VALUE(NUMBER_COLLECTION(1,2,3), max_number); DBMS_OUTPUT.put_line('MAX VALUE IS ' || max_number); GET_MAX_VALUE(NUMBER_COLLECTION(), max_number); DBMS_OUTPUT.put_line('MAX VALUE IS ' || max_number); EXCEPTION WHEN COLLECT_EMPTY_ERROR THEN DBMS_OUTPUT.put_line('THIS COLLECTION IS EMPTY.'); WHEN OTHERS THEN DBMS_OUTPUT.put_line('UNKNOWN EXCEPTION.');on
CREATE OR REPLACE PACKAGE TEAM_DATA AS SUBTYPE TypeFullName IS VARCHAR(50); TYPE TypeMember IS RECORD( idcard PLS_INTEGER, fullname VARCHAR2(50), age PLS_INTEGER, salary PLS_INTEGER);
PL/SQL开发 基础篇(四)
本篇主要讲解如下语言点: PL/SQL Packages PL/SQL Error Handling
PL/SQL Packages
所说的“包”,其实是各种类型,变量,常 量,过程,方法,游标以及异常处理的总和 它由两部分构成,包说明和包体 包说明类似于我们常说的接口 包体则是包说明的实现
相关文档
最新文档