有程序设计语言才能用于应用软件的开发SQL语言
2021-07-31
1 SQL语言只是一种访问和操作数据库的语言,不是具有过程控制的编程语言,只有一种编程语言才能用于应用软件的开发。 PL SQL 是一种高级数据库编程语言。该语言专门用于访问各种环境中的数据库。由于该语言集成在数据库服务器中,PL SQL 代码可以快速高效地处理数据。此外,PL SQL 语言可以用于数据库的一些客户端工具也是该语言的一个特点。本章的主要内容是讨论介绍PL SQL语言的必要性和该语言的主要特点,以及了解PL SQL语言的重要性和数据库版本问题。我还将在整本书中介绍一些更详细的高级概念,在本章的最后,我们将解释我们在本书示例中使用的数据库表的一些约定。 1和SQL1 1什么是PL SQL PL SQL PL SQL PL SQL是age的缩写。 SQL 是一种支持 ANSI 和标准的产品。
PL SQL 是 SQL 语言存储过程语言的扩展。从现在开始,附上PL SQL。它现在已经成为一种过程处理语言,简称为 PL SQL。当前的 PL SQL 由两部分组成。一部分是数据库引擎部分,另一部分是独立的引擎和sql访问的编程语言,可以嵌入到很多产品中和sql访问的编程语言,如C语言、JAVA语言等工具。这两部分可以称为数据库PL SQL和工具PL SQL。两者的编程非常相似。都有程序结构、语法和逻辑机制。 PL SQL 工具还添加了用于支持工具的语法,例如在表单上设置按钮。本章主要介绍数据库的内容。 1 SQL 的优点或特点 1 1 有利于客户端-服务器环境的运行 客户端-服务器环境的真正瓶颈是网络。无论网络有多快,只要客户端和服务器交换大量数据。应用运行的效率自然受到影响。如果使用PL SQL进行编程,将这类数据处理量大的应用放到服务器端执行。自然,它节省了互联网上的数据传输时间。 1 2适用于客户环境,因为它分为数据库PL SQL部分和工具PL SQL。对于客户端,PL SQL 可以嵌套到相应的工具中。客户端程序可以执行本地PL SQL部分,也可以向服务发送SQL命令或激活服务器端PL SQL程序运行。
1 3 是标准 SQL 的过程扩展,它不仅允许在 PL SQL 程序中嵌入 SQL 语句,还允许使用各种类型的条件分支语句和循环语句。该解决方案可以在多个应用程序之间共享。 . 14 模块化程序结构是一种高度描述性和定义明确的块结构。嵌套块结构分为独立的过程、函数和触发器,它们可以组合成一个包,以提高程序的模块化。 15 运行时错误处理。使用提供的异常处理,开发人员可以专注于处理各种错误和PL SQL错误,或者处理系统错误和自定义错误,以增强应用程序的健壮性。 21 6提供大量内置程序包 提供大量内置程序包。 DBS 的一些低级操作和高级功能可以通过这些包来实现,这对 DBA 和应用程序开发人员都起着重要的作用。当然,还有其他优势,比如更好的性能、便携性和兼容性、可维护性、易用性和速度。 1 SQL 可用语句 PL SQL 是系统的核心语言,现在很多组件都是用PL SQL 编写的。 PL SQL中可以使用SQL语句。
提醒在PL SQL中,只能使用语句的一部分。如果要在PL SQL中使用DDL、DDL、DDL、DDL等,只能动态使用。在解释 PL SQL 程序时,PL SQL 组件还会检查其中使用的表名、列名和数据类型。 PL SQL 可以在 SQL PLUS 中使用。 PL SQL 可用于高级语言。 PL SQL可以用在其他开发工具的开发工具中,也可以调用写好的程序和函数,比如可以调用服务器端的PL SQL程序等等。 1 4 运行SQL 程序PL SQL 程序的运行是通过一个引擎中的。该引擎可能位于应用程序开发的服务器端或客户端。引擎执行PL SQL中的过程语句,然后将SQL语句发送到数据库服务器执行。
结果返回到执行端。 2 12 12 12 1PL SQL 块 PL SQL 程序由三个块组成,分别是声明部分、执行部分和异常处理部分。 PL SQL 块的结构如下。声明部分在此声明PL SQL 中使用的变量类型和游标,以及本地存储过程和函数。过程和语句的执行部分是程序的主体部分。异常部分的执行。错误处理 3 执行部分不能省略。 PL SQL 块可以分为三类:未命名块或匿名块。动态构建。它们只能执行一次。可以调用其他程序,但不能被其他程序调用。 2 命名块是具有名称的匿名块。名字就是标签。 3 存储在数据库中的存储过程、函数等。
在数据库上建立后,您可以在其他程序中调用它们。 4 触发器 操作数据库时,会触发一些事件,自动执行相应的程序。 5 程序包 存储在数据库中的一组子程序和变量定义。包中的子程序可以被其他包或子程序调用。但是,如果声明是局部子程序,则只能在定义局部子程序的块中调用该局部子程序。 2 22 22 22 2PL SQL 结构 PL SQL 块可以包含子块。子块可以位于 PL SQL 的任何部分,即 PL SQL 中的一个命令。 3232 32 3 标识符。 PL SQL 编程中的标识符定义和 SQL 标识符定义的要求是一样的。有要求和限制。标识符名称不能超过 30 个字符。第一个字符必须是字母,不区分大小写,并且不能使用。减号不能是 SQL 保留字。提示一般不要声明变量名与表中的字段名完全相同。如果这样做,您可能会得到不正确的结果。例如,下面的示例将删除所有记录而不是 END 的记录。 PL SQL 中的变量命名有特殊建议。在系统设计阶段,要求所有程序员遵守一定的要求,使整个系统的文档符合规范中的要求。
以下是建议的命名方法 4 标识符命名规则示例 程序变量 V 名称 程序常量 C 名称 光标变量 Emp 异常标识符 E 太多 表类型 名称类型 表名称 记录类型 名称 加替换变量 P sal 绑定变量 G 年 sal2 42 42 42 4PL SQL变量类型在前面的介绍中,有系统数据类型,也可以自定义数据类型。下表列出了 PL SQL 中变量类型的类型和合法使用。 1 变量类型可用于具有类型子类描述范围限制的变量类型固定长度字符串国语字符集0 可选变量字符串国语字符集0 有符号整数是整数计算以优化性能。 Dec 小数的子类型。高精度实数的子类型。整数的子类型。子类型和等效项和等效项。小于 LONG 可变长度字符串。 0 767 字节 DATE 日期类型 BC 从 4712 年 1 月 1 日到 4712 年 12 月 31 日, TRUE NULL 不使用通用行标识符字符类型来存储数据库行号。示例1 插入一条记录并显示海口id info DBMS PUT LINE row id DBMS PUT LINE info END 该子句用于检索语句影响的数据行数。语句使用子句插入数据时,子句还可以将列表达式和REF值返回给6个输出变量。
使用子句时,应注意以下限制。当通过视图向基表插入数据时,它只能用于单个基表视图。示例2 修改一条记录并显示ptno ME 财务处id info DBMS PUT LINE row id DBMS PUT LINE info END 该子句用于检索修改后的行的信息。当语句修改单行数据时,子句可以检索修改行的和REF值以及行中修改列的列表达式,并将它们存储在PL SQL变量或复合变量中。当语句修改多行数据时,子句可以将修改行的总和REF值和列表达式值返回到复合变量数组中。 in 子句的使用限制与语句中的子句限制相同。
示例3 删除一条记录并显示 id info DBMS PUT LINE row id DBMS PUT LINE info END 7 该子句用于检索已删除行的信息。当语句删除单行数据时,子句可以检索已删除行的总和。 REF 值和删除列的列表达式可以存储在 PL SQL 变量或复合变量中。当语句删除多行数据时,子句可以将删除的行和REF值以及列表达式值返回给复合变量。大批。 in 子句的使用限制与语句中的子句限制相同。 2 2 除了上面介绍的各种类型,复合类型还提供了一种类型记录称为复合类型和表1记录类型。记录类型类似于 C 语言中的结构数据类型。它分离逻辑相关和分离。基本数据类型的变量作为一个整体存储。它必须至少包含一个标量或数据类型成员。称为 PL 的域用于存储不同但在逻辑上相关的信息。
使用记录数据类型变量时,需要先在声明部分定义记录的组成和记录的变量,然后在执行部分引用记录变量本身或其成员。记录类型语法定义如下: rd NULL NULL NULL NULL NULL NULL 4444 rec rec test rec test rec test rec rec book book book name book book Info talk PL SQL编程DBMS PUT LINE rec book PUT LINE rec book PUT LINE rec book PUT LINE rec book Name rec book Info rec book Info rec book Info rec book Info 8 可以使用语句给记录变量赋值,只要记录字段与查询结果列表中的字段匹配即可。
示例 5555 定义了与 hr 表中这些列相同的记录数据类型。员工姓名姓名就业日期日期位置记录类型的变量只能保存从数据库中查询的一行记录。如果查询多行记录,就会出错。 2 2 数组类型数据是一组数据类型相同的成员的集合。每个成员都有一个唯一的下标,该下标取决于该成员在数组中的位置。在PL SQL中,数组数据类型是。
定义数据类型的语法如下。 size type name 是数据类型的名称。 size为后面的整数,表示可以容纳的最大成员数。每个成员的数据类型是类型。默认成员可以取一个空值,否则需要使用它来限制它。对于数据类型,必须经过三个步骤:定义、声明和初始化。 9 示例 6666 定义一个数据类型,最多保存 25 个数据类型的 5 个成员 5555 声明该数据类型的变量 v reg TYPE 使用构造函数语法分配初始值 v reg reg type 中国、美国、英国、日本、 , DBMS, PUT LINE, area name 4444 DBMS PUT LINE 将第5个成员的值赋给初始值NULL 5555 用构造器语法赋初值后,可以给成员赋值 v reg 5555 DBMS PUT LINE 5555 END 3 使用 TYPE TYPE TYPE TYPE 定义变量。数据类型与已定义的某个数据变量一致,尤其是表中某一列的数据类型。这时候可以使用TYPE。
使用TYPE特性的好处是不需要知道被引用数据库列的数据类型,并且可以实时改变被引用数据库列的数据类型,容易保持一致性,并且不需要修改PL SQL程序。示例 7777 TYPE 定义匹配表的字段 TYPE 10T TYPE TYPE 声明变量 v empT DBMS PUT LINE 接收数据的表的数据结构是一致的。使用该特性的好处是不需要知道被引用数据库中列的数量和数据类型。被引用数据库的列数和数据类型可以实时更改,易于维护一致性,无需修改PL SQL程序。示例 9999